我正在發送一個HTTP
請求,其中我必須發送一個bool
值。我嘗試了他們兩個。@(YES)vs [NSNumber numberWithBool:YES]
而且兩者都以相同的方式工作。我很困惑哪個更好?他們之間有什麼不同?
我正在發送一個HTTP
請求,其中我必須發送一個bool
值。我嘗試了他們兩個。@(YES)vs [NSNumber numberWithBool:YES]
而且兩者都以相同的方式工作。我很困惑哪個更好?他們之間有什麼不同?
@(YES)
是與[NSNumber numberWithBool:YES]
相同的文字。我不知道文字表現是否會比直接調用慢一點。
其中之一是literal。另一個是通過快速初始化器創建的。
他們最終成爲具有相同內容的相同類型的對象,但我懷疑第一個對您(和其他人在查看您的代碼)更容易閱讀。
這兩種方法之間沒有區別,你應該沒問題。我更喜歡的是[NSNumber numberWithBool:YES]
,因爲它有時更容易閱讀,有時如果你回到代碼進行調試。 @(是)是nsnumber的字面語法,當您使用@「string」時,它與您創建NSString時完全相同
不能。編譯器會將@YES
轉換爲[NSNumber numberWithBool:YES]
。
@(YES)是編譯器的特性。實際上,@(YES)轉換爲[NSNumber numberWithBool:YES],性能沒有區別。它提供了方便性和可讀性(類似於@ [],@ {})。
要發送布爾試試這個:[NSNumber numberWithInt:1]
「更好」的是什麼? –