我正在閱讀Big Nerd Ranch編寫的「Objective-C Programming」一書,但我不確定這種區別。Objective-C函數和Objective-C方法有什麼區別?
上下文:NSLog()是一個Objective-C函數(不是方法!),其工作方式與printf()非常相似。然而,在NSLog()中,格式字符串實際上是NSString的一個實例。
我正在閱讀Big Nerd Ranch編寫的「Objective-C Programming」一書,但我不確定這種區別。Objective-C函數和Objective-C方法有什麼區別?
上下文:NSLog()是一個Objective-C函數(不是方法!),其工作方式與printf()非常相似。然而,在NSLog()中,格式字符串實際上是NSString的一個實例。
A 方法只是一個函數,它定義爲類的一部分。一個普通的函數,如NSLog
或printf
,不屬於一個類。
沒有「Objective-C函數」這樣的東西。 NSLog是一個函數,與庫中的任何其他標準函數相同,它恰好採用Objective-C對象,但這些只是指針,因此它們可以很好地與C代碼交互。 NSLog沒有什麼特別的。
另一方面,方法是Objective-C類的一部分。
方法屬於類&對象,並通過消息傳遞調用。函數沒有附加到特定的類或對象,並且完全按照它們在C中的工作方式工作。
Obj-C中的函數沒有針對特定類作用域,而方法被作用於類。
重複http://stackoverflow.com/questions/6672352/objective-c-difference-between-functions-and-methods –