[英]“@TRUE” in Objective-C
最近我看到了這段代碼:
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
[configuration.preferences setValue:@TRUE forKey:@"xxxx"];
@TRUE
代表什么? 我第一次看到這個結構。
我知道YES
等於true
和
@YES
等於NSNumber nubmerWithBool
,但@TRUE
代表什么?
如果你預處理:
NSNumber *test = @TRUE;
它結束了
NSNumber *test = @1;
( [NSNumber numberWithInt:1]
的鏗鏘文字)。
這是合乎邏輯的,考慮到TRUE
被預處理為1
。
這可能更容易看到:
#define MY_STRING "my_string"
NSString *string = @MY_STRING;
獲得預處理:
NSString *string = @"my_string";
它是一個NSNumber
文字,一種從標量文字表達式創建NSNumber
實例的方法。
來自The Clang 9文檔 :
在Objective-C中,任何以“@”字符為前綴的字符,數字或布爾文字都將計算為指向使用該值初始化的NSNumber對象的指針。 C的類型后綴可用於控制數字文字的大小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.