回答
正確答案是喬什 - 卡斯威爾:
這是語法上有效的;來自NeXT時代的一種奇怪的神器。
-(void)someMethod;
是方法的聲明和-(void)someMethod { stuff }
是其實施。
如果您希望它們在類的外部可見並且實現應該用實現文件(例如MyClass.m
)編寫,則應在頭文件(例如,MyClass.h
)中寫入方法聲明。我不認爲-(void)someMethod; { stuff }
是可能的。
查看我添加到我的問題的評論 – johnbakers 2012-02-29 09:46:26
它在語法上有效;來自NeXT時代的一種奇怪的神器。 – 2012-02-29 19:24:47
第一個看起來錯了。通常,在您的.h文件中,你會碰到這樣的:
-(void)someMethod;
而在.m文件你會:
-(void)someMethod { stuff }
也許第一個是約一些剪切和粘貼的結果操作,編譯器才接受它。
看到我添加到我的問題的評論 – johnbakers 2012-02-29 09:46:43
- 1. Perl:在塊結束時添加分號(;)
- 2. 在QuickSort結束時實現BubbleSort
- 3. 什麼做結束括號()和分號;
- 4. 帶點符號的C#方法實現
- 5. Python類實例在方法結束時不被破壞
- 6. 結束調用此方法的方法
- 7. 結束Scala的方法_ =
- 8. 上傳結束時發現
- 9. Joomla {}方括號的實現
- 10. 如何使webservice方法結束時運行的方法?
- 11. 使用調試器gdb時出現未知的結束信號
- 12. 抽象方法的部分實現?
- 13. wso2-das無法實現實時分析
- 14. Python竅門:簡單分配結束時的流浪逗號
- 15. 多分號線結束:可接受?
- 16. 通過DynamicObject實現void方法時的結果值
- 17. 結構指針實現方法
- 18. 以return結束void方法;
- 19. 約束實例方法
- 20. 實現方法
- 21. 在方法開始或結束時調用基方法?
- 22. 正確的方法來結束一個類的實例?
- 23. 實現節點時的抽象方法
- 24. 鏈接列表實現分類方法
- 25. PregMatch沒有結束「)」分隔符發現
- 26. Android和SQLite:何時使用分號結束語句?
- 27. 實現Dart列表時自動導入未實現的方法
- 28. Java - 在實現類的接口中約束方法參數
- 29. 當通話結束時更改號碼
- 30. 的Javascript號結束零
到回答的前兩個:它實際上是有效的語法,編譯器和運行時不會抱怨。我正在閱讀一本關於編程的書,所有的例子都用分號來實現,這是我以前從未見過的。因此這個問題;我知道這很奇怪。 – johnbakers 2012-02-29 09:45:41
我站好了。它確實看起來不對,但如果它起作用,它就會起作用。我不太瞭解Objective-C是否是正確的語法。它不是一種廣泛使用的語言,所以我想很多都是編譯器實際接受的。 – 2012-02-29 09:51:56
它當然有效,但我認爲這是一個歷史神器。它不受Apple的鼓勵。 – JeremyP 2012-02-29 10:10:09