加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 使用[key]表示法访问NSDictionary中的键?

发布时间:2020-12-16 05:27:01 所属栏目:百科 来源:网络整理
导读:我刚刚意识到我可以使用objectForKey:和dict [key]访问NSDictionary? NSDictionary *coordsDict = @{@"xpos": @5.0,@"ypos": @7.2,@"zpos": @15.7};NSLog(@"XPOS: %@",coordsDict[@"xpos"]);NSLog(@"XPOS: %@",[coordsDict objectForKey:@"xpos"]); 任何人
我刚刚意识到我可以使用objectForKey:和dict [key]访问NSDictionary?
NSDictionary *coordsDict = @{@"xpos": @5.0,@"ypos": @7.2,@"zpos": @15.7};
NSLog(@"XPOS: %@",coordsDict[@"xpos"]);
NSLog(@"XPOS: %@",[coordsDict objectForKey:@"xpos"]);

任何人都可以告诉我,这一直是否一直向我隐瞒,或者是否有一些最新的语言变化?

编辑:这个问题一般不会引用新的字符串文字,但更具体地说是使用与NSArray相同的字符串文字语法来访问NSDictionary.我显然忽略了这一点,只是想检查何时添加了这个特定的语法.

解决方法

这是Xcode 4.4的新增功能,依赖于Apple的LLVM Clang编译器.这是一个新功能:)数组也可以使用相同的表示法访问:myObjectArray [4].

如果您有兴趣将这个新功能添加到您自己的类(称为下标),可以使用以下几种方法:

@interface NSArray(Subscripting)
- (id)objectAtIndexedSubscript:(NSUInteger)index;
@end

@interface NSMutableArray(Subscripting)
- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)index;
@end

@interface NSDictionary(Subscripting)
- (id)objectForKeyedSubscript:(id)key;
@end

@interface NSMutableDictionary(Subscripting)
- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key;
@end

如果您在自己的类上实现任何这些方法,则可以对它们进行下标.这也是您可以将此功能添加到OS X 10.7的方法!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读