objective-c – 初始化NSDictionary

objective-c – 初始化NSDictionary,第1张

概述以下是我的.h文件: NSDictionary *originalValues; @property (nonatomic, retain) NSDictionary *originalValues; 这是启动NSDictionary的.m文件. @synthesize originalValues;- (void)viewDidLoad {// copy original val 以下是我的.h文件:

NSDictionary *originalValues;    @property (nonatomic,retain) NSDictionary *originalValues;

这是启动NSDictionary的.m文件.

@synthesize originalValues;- (voID)vIEwDIDLoad {// copy original values when vIEw loadedoriginalValues = [[NSDictionary alloc] initWithObjectsAndKeys:place.city,@"city",place.cuisine,@"cuisine",place.latitude,@"latitude",place.longitude,@"longitude",place.name,@"name",place.rating,@"rating",place.state,@"state",place.street,@"street",place.telephone,@"telephone",place.timesVisited,@"times visited",place.uppercaseFirstLetterOfname,@"first letter",place.website,@"website",place.zipcode,@"zipcode",nil];}

问题只是前四个对象和密钥被添加.之后,它们没有被添加到以place.name,@“name”开头的字典中.我在整个字典中做了一个NSLog,唯一输出的东西是前面提到的四个值,所以我做了一个NSLog的place.name,它正在输出一个值,所以我知道还应该输出这个键/值对.有没有我在这里失踪的东西?我很好奇为什么所有的值都没有被初始添加到NSDictionary中?

解决方法 它们不被添加的原因是因为一个对象是nil,它标记了字典的结尾.您需要确保每个对象不是零,如果可以使用[NSNull null]代替它.还可以使用self.originalValues = …进行正确的内存管理.只需确保使用字典检查/可以处理NSNull值.

使用gnu三进制扩展的示例:

self.originalValues = [[NSDictionary alloc] initWithObjectsAndKeys:                         place.city ?: [NSNull null],place.cuisine ?: [NSNull null],place.latitude ?: [NSNull null],place.longitude ?: [NSNull null],place.name ?: [NSNull null],place.rating ?: [NSNull null],place.state ?: [NSNull null],place.street ?: [NSNull null],place.telephone ?: [NSNull null],place.timesVisited ?: [NSNull null],place.uppercaseFirstLetterOfname ?: [NSNull null],place.website ?: [NSNull null],place.zipcode ?: [NSNull null],nil];
总结

以上是内存溢出为你收集整理的objective-c – 初始化NSDictionary全部内容,希望文章能够帮你解决objective-c – 初始化NSDictionary所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062519.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存