我只是在查看我们拥有的一些代码,所以这个问题是从无知中提出的,并确保我完全理解发生了什么。我们有几个应用程序总是包含以下类别:
头文件:
#import <Foundation/Foundation.h>
@interface NSDictionary (additions)
-(id)notNullObjectForKey:(id)aKey;
@end
实现文件:
#import "NSDictionary+Additions.h"
@implementation NSDictionary (additions)
-(id)notNullObjectForKey:(id)aKey
{
id obj=[self objectForKey:aKey];
if([obj isKindOfClass:[NSNull class]]){
return nil;
}
return obj;
}
@end
我们将它用于 JSON 解析,以防止像这样(在 Item.h 中)格式错误的数据 - 大概。
-(id)initWithAttributes:(NSDictionary *)attributes
{
self.name=[attributes notNullObjectForKey:@"name"];
return self;
}
有没有办法做到这一点而不必将其添加到每个项目中?所有这些检查是否存在密钥是否存在,如果不存在,则返回 NSNull?
谢谢