簡體   English   中英

Objective-C中的“@TRUE”

[英]“@TRUE” in Objective-C

最近我看到了這段代碼:

WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
[configuration.preferences setValue:@TRUE forKey:@"xxxx"];

@TRUE代表什么? 我第一次看到這個結構。

我知道YES等於true

@YES等於NSNumber nubmerWithBool ,但@TRUE代表什么?

StackOverflow問題,使用“@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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM