[英]Objective-C - Keeping variables in .h or .m - any difference?
在.h文件中-
@interface MyClass : NSObject {
@someAccessibilityModifier int a; // someAccessibilityModifier = @public, @private
}
或在.m文件中-
@implementation MyClass {
@someAccessibilityModifier int a; // someAccessibilityModifier = @public, @private
}
以上兩種方式a
區別(由於兩種方式,的可訪問性和行為都相同)?
在前者, a
是在類的外部訪問。 如果您不希望將其設為true,則必須指定@private
。
無論如何,除非您明確希望ivar在類之外可見(並且幾乎肯定不會),否則應使用后一種形式(在@implementation
指定)。 Ivar通常被視為實現細節,因此不應放在標頭中。
唯一的例外是如果您正在編寫32位OS X代碼,因為它仍然使用易碎的ABI,它要求在@interface
聲明所有ivars。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.