iphone - 为什么我们在 iOS 中需要 property outlet 和 variable?

标签 iphone ios objective-c automatic-ref-counting

通常我只在其他类访问时才使用“属性”导出和变量。否则它在接口(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/

相关文章:

ios - UITextView - 重新定位后开头的空白行

iPhone 4.0 操作系统, block

iphone - 技巧 preferredInterfaceOrientationForPresentation 在 vi​​ewController 更改时触发

iphone - UIImage性能解决方案

ios - AudioKit 中 AKFrequencyTracker 和 AKMicrophoneTracker 的区别?

ios - 使用MPNowPlayingInfoCenter而不实际播放音频

ios - 想在 View 动画完成后显示一个新 View

iphone - 当应用程序激活时关闭本地通知

iphone - 我怎样才能像这样为我的表格单元格创建一个附件 View ?

ios - 如何使用 NSPredicate 通过 CoreData 中的 NSSet 属性的元素来过滤对象?