我有以下模型:
@interface Person : NSObject
@property (nonatomic, copy) NSString *firstName;
@property (nonatomic, copy) NSString *middleName;
@property (nonatomic, copy) NSString *lastName;
@property (nonatomic, copy) NSString *status;
@property (nonatomic, copy) NSString *favoriteMeal;
@property (nonatomic, copy) NSString *favoriteDrink;
@property (nonatomic, copy) NSString *favoriteShow;
@property (nonatomic, copy) NSString *favoriteMovie;
@property (nonatomic, copy) NSString *favoriteSport;
-(NSDictionary *)getSomeInfo;
-(NSDictionary *)getAllInfo;
@end
第 1 部分:我想getSomeInfo
为所有不包含 nil 的字段返回 NSDictionary(例如 {"firstName", self.firstName})。我怎样才能做到这一点?(我可以检查每个值,但我想知道是否有更好的方法)
第 2 部分:我想getAllInfo
返回 NSDictionary 和所有属性,如果一个包含 nil 则它应该抛出一个错误。再次,我必须写一个长的条件语句来检查还是有更好的方法?
注意:我想在不使用外部库的情况下执行此操作。我是这门语言的新手,所以如果在 Objective-C 中有更好的模式,我愿意接受建议。