標籤:
## Objective-C KVC 自己主動轉換類型研究
apple非常厚道,kvc的時候幫我們做了一些類型轉換,規律貼出來,給大夥參考參考
@interface Entity : NSObject@property (nonatomic, copy) NSString *str;@property (nonatomic, assign) int i1;@property (nonatomic, assign) int i2;@property (nonatomic, assign) int i3;@property (nonatomic, assign) float f1;@property (nonatomic, strong) NSNumber *num;@property (nonatomic, assign) BOOL b1;@property (nonatomic, assign) BOOL b2;@property (nonatomic, assign) BOOL b3;@property (nonatomic, strong) NSDate *date1;@property (nonatomic, assign) NSTimeInterval t1;@end// 數值的字串能夠轉成數實值型別 [obj setValue:@"2.4" forKey:@"i1"]; // 非數值的字串不認識 [obj setValue:@"a" forKey:@"i2"]; // 僅僅認識特殊符號曾經的數 [obj setValue:@"2014 10-24" forKey:@"i3"]; // 這個轉換過去是NSNumber類型 [obj setValue:@1 forKey:@"str"]; [obj setValue:@1.23 forKey:@"f1"]; // 轉去還是NSString [obj setValue:@"99" forKey:@"num"]; // >= 1.0 為真, 1.0下面為假 [obj setValue:@0.9 forKey:@"b1"]; // >= 1.0 為真, 1.0下面為假 [obj setValue:@"1.1" forKey:@"b2"]; // true TRUE yes YES false FALSE no NO 都能夠識別 [obj setValue:@"TRUE" forKey:@"b3"]; // 轉去還是NSTring [obj setValue:@"2014-10-24" forKey:@"date1"]; // 不認識 [obj setValue:@"2014-10-24" forKey:@"t1"]; // 結論 // 數實值型別的字串 to 數值 能夠轉行成數值 // 類 to 類 不轉換直接賦值
Objective-C KVC 自己主動轉換類型研究