程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Objective-C KVC 自動轉換類型研究

Objective-C KVC 自動轉換類型研究

編輯:關於C語言

Objective-C KVC 自動轉換類型研究


## 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 類 不轉換直接賦值


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved