iOS KVC 存在的問題

@interface AAA : NSObject
@property (nonatomic, retain) NSString *                  kindCode      ;     
@property (nonatomic, retain) long                     longNo;
@property (nonatomic, retain) float *                  kindName      ;     
@property (nonatomic, assign) int                        quantity      ;     
@property (nonatomic, assign) double                      sumInsured    ;  



定義以上 幾個屬性

 [self setValue:@"10" forKey:@"quantity"];
        NSLog(@"===%d", _quantity); //OK
[self setValue:@"10" forKey:@"kindName"];
        NSLog(@"===%f", _kindName); //OK
[self setValue:@"10" forKey:@"sumInsurd"];
        NSLog(@"===%f", _sumInsurd); //OK

[self setValue:@"10" forKey:@"longNo"];
       // NSLog(@"===%d", _sumInsurd); //failed
//

 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString longValue]: unrecognized selector sent to instance 0x15a57c'


傳入的int, float, double 都可以由NSString 轉成; 但是 long卻不能;


將該屬性類型換成long long就OK
@property (nonatomic, retain) long long                    longNo;

發佈了59 篇原創文章 · 獲贊 5 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章