This question already has answers here:
Where to put iVars in “modern” Objective-C?
(5个答案)
4年前关闭。
我是来自Swift的Objective-C初学者。好像有两个不同的
我可以在实现文件中添加另一个,例如:
编辑:我正在学习做事的“老方法”,它教会了我在.h文件中声明 private ivars。我的困惑源于看到以.h(旧方式)和.m(新的首选方式)声明的ivars。这是我所学到的(到目前为止...):
但是,对于.m的
(5个答案)
4年前关闭。
我是来自Swift的Objective-C初学者。好像有两个不同的
@interface
实例可以在其中声明我的ivars。我的头文件中的一个,例如:// Header file
@interface ViewController : UIViewController
{
// declare instance variables
}
@end
我可以在实现文件中添加另一个,例如:
// Implementation file
@interface ViewController ()
// declare instance variables
@end
@implementation ViewController
@end
编辑:我正在学习做事的“老方法”,它教会了我在.h文件中声明 private ivars。我的困惑源于看到以.h(旧方式)和.m(新的首选方式)声明的ivars。这是我所学到的(到目前为止...):
// .h
@interface SomeClass : UIViewController
@property (nonatomic, assign) BOOL someBool;
// declare other properties, which will all be public
@end
// .m
@interface SomeClass () <UITextFieldDelegate>
// what do I declare here?...
@end
@implementation SomeClass {
// ...and what do I declare here?
}
// method implementations
@end
但是,对于.m的
@interface
和@implementation
大括号之间的区别,我仍然感到困惑。 @matt表示从不使用大括号,但是@rmaddy的答案here表明@implementation SomeClass {}
可以。那是什么呢? 最佳答案
您是否希望它可以公开访问?然后写入.h
文件。
如果您不希望其他类看到它,即要将其设置为 private 并且仅对该类本身可见,请写入.m
文件。
有关更多信息,您可以看到以下问题:
Where to put iVars in "modern" Objective-C?
关于ios - .m中@interface和@implementation大括号之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36973853/
10-11 14:52