在CoreData中存储typedef枚举,可以通过以下步骤实现:
typedef NS_ENUM(NSInteger, MyEnum) {
MyEnumValue1,
MyEnumValue2,
MyEnumValue3
};
@property (nonatomic) MyEnum myEnumValue;
- (NSString *)myEnumValueToString {
switch (self.myEnumValue) {
case MyEnumValue1:
return @"Value 1";
case MyEnumValue2:
return @"Value 2";
case MyEnumValue3:
return @"Value 3";
default:
return @"";
}
}
- (void)setMyEnumValueFromString:(NSString *)stringValue {
if ([stringValue isEqualToString:@"Value 1"]) {
self.myEnumValue = MyEnumValue1;
} else if ([stringValue isEqualToString:@"Value 2"]) {
self.myEnumValue = MyEnumValue2;
} else if ([stringValue isEqualToString:@"Value 3"]) {
self.myEnumValue = MyEnumValue3;
} else {
self.myEnumValue = MyEnumValue1; // 设置默认值
}
}
MyEnum enumValue = myManagedObject.myEnumValue;
NSString *stringValue = [myManagedObject myEnumValueToString];
[myManagedObject setMyEnumValueFromString:@"Value 2"];
这样,你就可以在CoreData中存储和使用typedef枚举了。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云