IOS 開發(fā)之ObjectiveC的變量類型的字符代表
IOS 開發(fā)之ObjectiveC的變量類型的字符代表
實(shí)例代碼:
NSDictionary *dic = @{@"1":[NSNumber numberWithBool:YES],
@"2":[NSNumber numberWithChar:'1'],
@"3":[NSNumber numberWithDouble:2.0],
@"4":[NSNumber numberWithFloat:2.0f],
@"5":[NSNumber numberWithInt:1],
@"6":[NSNumber numberWithInteger:2],
@"7":[NSNumber numberWithLong:30],
@"8":[NSNumber numberWithLongLong:3],
@"9":[NSNumber numberWithShort:4],
@"10":[NSNumber numberWithUnsignedChar:'1'],
@"11":[NSNumber numberWithUnsignedInt:3],
@"12":[NSNumber numberWithUnsignedInteger:35],
@"13":[NSNumber numberWithUnsignedLong:45],
@"14":[NSNumber numberWithUnsignedLongLong:59],
@"15":[NSNumber numberWithUnsignedShort:4]
};
for(NSString *key in dic){
id value = [dic valueForKey:key];
if([value isKindOfClass:[NSNumber class]]){
const charchar * pObjCType = [((NSNumber*)value) objCType];
NSLog(@"%@,%s",key,pObjCType);
}
}
以上的輸出結(jié)果證明:
UnsignedChar =>s Char =>c UnsignedShort =>i LongLong =>d UnsignedInt =>q Float =>f Int =>i UnsignedInteger =>q Integer =>q UnsignedLong =>q Long =>q LongLong =>q UnsignedLongLong=>q Bool =>c Short =>s double =>d
再看以下代碼,用@encode關(guān)鍵字的
NSLog(@"1=>%s",@encode(BOOL)); NSLog(@"2=>%s",@encode(char)); NSLog(@"3=>%s",@encode(double)); NSLog(@"4=>%s",@encode(float)); NSLog(@"5=>%s",@encode(int)); NSLog(@"6=>%s",@encode(NSInteger)); NSLog(@"7=>%s",@encode(long)); NSLog(@"8=>%s",@encode(long long)); NSLog(@"9=>%s",@encode(short)); NSLog(@"10=>%s",@encode(unsigned char)); NSLog(@"11=>%s",@encode(unsigned int)); NSLog(@"12=>%s",@encode(unsigned long));//unsigned NSInteger NSLog(@"13=>%s",@encode(unsigned long)); NSLog(@"14=>%s",@encode(unsigned long long)); NSLog(@"15=>%s",@encode(unsigned short));
以上的輸出結(jié)果證明:
BOOL=>c char=>c double=>d float=>f int=>i NSInteger=>q long=>q long long=>q short=>s unsigned char=>C unsigned int=>I unsigned NSInteger=>Q unsigned long=>Q unsigned long long=>Q unsigned short=>S
讀者可以根據(jù)這種方式來判斷某個(gè)變量到底屬于哪種類型。
如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
iOS App項(xiàng)目中引入SQLite數(shù)據(jù)庫(kù)的教程
SQLite是一個(gè)極輕的嵌入式數(shù)據(jù)庫(kù),在應(yīng)用程序中捆綁使用可以更方便地幫助操控關(guān)系型數(shù)據(jù),這里我們就來看一下iOS App項(xiàng)目中引入SQLite數(shù)據(jù)庫(kù)的教程2016-06-06
React Native學(xué)習(xí)教程之自定義NavigationBar詳解
這篇文章主要給大家介紹了關(guān)于React Native學(xué)習(xí)教程之自定義NavigationBar的相關(guān)資料,文中通過是示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
IOS App圖標(biāo)和啟動(dòng)畫面尺寸詳細(xì)介紹
這篇文章主要介紹了IOS App圖標(biāo)和啟動(dòng)畫面尺寸詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-02-02
iOS 開發(fā)中 NavigationController經(jīng)常出現(xiàn)的問題原因分析
這篇文章主要介紹了iOS 開發(fā)中 NavigationController經(jīng)常出現(xiàn)的問題原因分析的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
IOS 開發(fā)之PickerView自定義視圖的實(shí)例詳解
這篇文章主要介紹了IOS 開發(fā)之PickerView自定義視圖的實(shí)例詳解的相關(guān)資料,這里提供實(shí)例幫助大家學(xué)習(xí)理解這部分知識(shí),需要的朋友可以參考下2017-08-08

