3
A
回答
7
NSArray * array = @[];
初始化數組之間的區別是做NSArray * array = [NSArray array];
9
@[]
的新方式是簡寫:
id a = nil;
NSArray* array = [NSArray arrayWithObjects:&a count:0];
對於所有意圖和目的,這只是[NSArray array]
的簡寫。
這是在編譯器的特定版本中添加的功能(並且實際上並不需要運行時支持此特定語法)。
這是一點都不像的@""
速記在@""
產生編譯時常並且將導致在運行時沒有消息。事實上,@""
(任何@"sequence"
)是一種特殊情況,它發出的編譯時間常量在運行時用零消息傳遞實現;零動力。 A @"..."
與Objective-C類相比,更像一個對象的常規實例。
+0
我認爲@「」會產生一個NSString對象而不是編譯時間常量。 –
+3
不是;它確實是一個編譯時間常量,它通過動態鏈接器加載,就像類和其他編譯時發出的數據一樣。沒有消息涉及。 – bbum
相關問題
- 1. NSArictionary的NSArray - 簡單初始化語法
- 2. 從NSArray初始化結構?
- 3. 初始化方法
- 4. 的NSMutableArray NSArray的和初始化
- 5. 切片類型的初始化方法無法初始化
- 6. 在初始化後更改NSArray的值
- 7. 墜毀在NSArray的初始化
- 8. 初始化iPhone的多維NSArray devel
- 9. 如何初始化NSMutableArray裏與NSArray的
- 10. Spring初始化方法params
- 11. NSMutableArray初始化方法
- 12. 初始化方法調用
- 13. dll初始化方法
- 14. 的Objective-C初始化/初始化方法
- 15. 使用數字初始化NSArray
- 16. 可能用空值初始化NSArray?
- 17. 如何在ARC中初始化NSArray?
- 18. 使用NSArray初始化對象數組
- 19. 使用超類方法初始化與初始化方法之間的區別
- 20. Guice在初始化對象後調用初始化方法
- 21. 正確的NSArray在方法中對伊娃數據進行初始化
- 22. PyQt子類的初始化方法QTableWidgetItem
- 23. 初始化方法的返回值
- 24. 初始化方法中的對象 - MQL5
- 25. subclassing objective-c中的初始化方法
- 26. pyclustering:初始化kmeans的預期方法
- 27. 初始化JpaPersistModule的最佳方法
- 28. 模擬ruby類的初始化方法?
- 29. NSObject初始化方法的問題
- 30. javafx中的初始化方法
1.與Xcode的版本無關(與使用的語言/標準/編譯器的版本相關,而Xcode不是其中之一)。 2.「和NSString * string = @」「;'」 - 我不這麼認爲。前者創建一個數組,後者創建一個字符串。 – 2013-01-23 15:56:33
一個很好的猜測,但大多數不正確。第一句話是正確的,休息是錯誤的。 – bbum
是的,這是正確的。很快就寫下了我的答案。編輯我的答案。我的錯。 – Mikael