0
@interface TestViewController()
{
NSString *a;
}
@end
@implementation TestViewController
{
NSString *b;
}
似乎* a和* b是相同的,都是這個文件中的私有全局變量。
任何人都可以告訴我有什麼區別嗎?類擴展中聲明的變量和實現類中的變量之間有什麼區別
@interface TestViewController()
{
NSString *a;
}
@end
@implementation TestViewController
{
NSString *b;
}
似乎* a和* b是相同的,都是這個文件中的私有全局變量。
任何人都可以告訴我有什麼區別嗎?類擴展中聲明的變量和實現類中的變量之間有什麼區別
在Class Extension中聲明的@properties在其他類中不可見。
兩者都是實例變量,不是全局變量,但是否則這兩個聲明方法是相同的。能夠在@implementation
中聲明實例變量是Objective-C的最新功能,並且是更好的位置 - 實例變量是類的實現的一部分,並且(通常)不是(公共)接口的一部分。
不錯!非常感謝 :) – user1900556