通常我只在其他类访问时才使用“属性”导出和变量。否则它在接口(interface) block 中声明。但我看到有些是创建“属性”导出和变量,但它们不能在另一个类中访问这些。所以任何人都可以解释,如果我们不从另一个类访问某些导出或变量,为什么我们需要“属性”导出和变量?
最佳答案
如果您不需要从另一个类访问 socket ,则无需将其设为属性。您可以在 @implementation
中将其设为实例变量:
@implementation ViewController {
IBOutlet UIView *someView;
}
...
有些人不喜欢使用普通实例变量,而更喜欢始终使用属性,即使是私有(private)数据也是如此。如果您不使用 ARC,使用属性而不是原始实例变量特别有用,因为您可以依赖属性 setter 来保留和释放它们的对象。如果您使用的是 ARC,则这不是问题。
如果您想使用某个属性但不想在您的 @interface
中声明该属性, 你可以在 .m
的顶部放置一个类扩展文件(在你的 @implementation
之上),并将属性放在那里:
@interface ViewController () {
@property (nonatomic, strong) IBOutlet UIView *someview;
@end
@implementation ViewController
...
关于iphone - 为什么我们在 iOS 中需要 property outlet 和 variable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17692483/