ios中的成員變量定義在@interface 和@implementation 中的區別是什麼?

我猜你說的定義在@interface中是指定義在頭文件裏, 定義在@implementation中是指在實現文件中的類擴展(Class Extensions), 一般來說把要公開的信息(變量,屬性,方法)定義在頭文件裏, 把要隱藏的信息定義在類擴展裏,只是爲了隱藏私有信息, 不需要被外界知道的就不要放在頭文件裏, 這樣可以隔離接口和實現。


實例變量 定義在 @interface 和 @implementation 有何區別?

Objective-C程序設計第2版

實例變量定義在 @interface 下

@interface Hello:NSObject
{
  int foo;
}

Objective-C程序設計第4版

實例變量定義在 @implementation 下

@implementation Hello:NSObject
{
  int foo;
}

一個可以被子類繼承 一個不可以。
http://segmentfault.com/q/1010000000155140

在 @interface 裏聲明的變量,如果你提供了 setter/getter 方法,那麼其他類可以使用該變量的 getter/setter.
然而,在 @implementation 裏聲明的變量,其 getter/setter 方法只在該類中可以。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章