2011-07-10 49 views
0

我在想,頭文件應該包含哪些具體的@interface部分?頭文件中的@interface部分是什麼?

從我看到的例子看來,它用來聲明實例變量。訪問器和其他方法似乎不在其中。

請澄清

+0

方法不在'@ interface'聲明之外。因爲聲明是「@interface ... @ end」,所以它們在__內部。另外,'@interface'不僅限於頭文件。 – 2011-07-10 03:07:17

回答

2

@interface至少有兩個背景:聲明一個類,並聲明一個類。類聲明如下所示(方括號內的東西是可選的):

@interface Class [: Superclass] 
{ 
    [fields] 
} 
[methods] 
@end 

一個類別聲明看起來大致相同,但沒有場區:

@interface Class (CategoryName) 
[methods] 
@end 

因此,@interface行必須在類聲明的情況下,後面跟着大括號,並且該類的字段應該包含在內。你把方法放在大括號後面。

+2

只需小心點,大括號是可選的,只有在定義字段時才需要。此外,您現在還可以在課程擴展中定義ivars(您錯過了第三種情況)。 –

+0

優秀的評論。謝謝 – JAM

1

從文檔:

接口文件聲明可以由源代碼中使用的新類,保持所有必要的信息從其他Objective-C代碼中使用的類。首先,文件通過定義到底是哪個超類,向程序員揭示類在類層次結構中的位置。其次,它告訴程序員在創建子類時哪些變量被繼承。最後,接口文件可以通知其他軟件實體可以發送到類對象和類的實例的消息。

相關問題