Objective-C
iOS

JSONModelでBOOLをオプショナルにする方法

More than 3 years have passed since last update.


JSONModelとは

JSONをオブジェクトにマッピングしてくれるライブラリ

http://www.jsonmodel.com/


NSStringとかなら<Optional>で可能

@property (copy, nonatomic) NSString<Optional> *username;


BOOLはObjcの型でなくプロトコルの指定が出来ないのでこうする

+ (BOOL)propertyIsOptional:(NSString *)propertyName

{
if ([propertyName isEqualToString:@"オプショナルにしたいプロパティ名"]) {
return YES;
}
return NO;
}


複数あるなら

+ (BOOL)propertyIsOptional:(NSString *)propertyName

{
NSArray *optionalProperties = @[
@"schedule_fixed",
@"place_fixed",
@"budget_fixed",
@"joining",
@"updatable",
@"deletable",
];
return [optionalProperties containsObject:propertyName];
}