iphone - 在 Objective-C 中,什么时候应该使用属性,什么时候应该使用实例变量?

标签 iphone objective-c ios properties

我不熟悉同时具有属性和实例变量的程序语言。
所以我不知道使用属性和实例变量的好方法。

现在我只在我的 Objective-C 代码中使用属性,我不使用任何实例变量。

我需要使用实例变量吗?
或者仅使用属性是 Objective-C 的最佳实践?

@interface ViewController : UIViewController
{
    // instance variable
    @public
    int a;
}

// property
@property(nonatomic, strong) NSString *b;

@end

最佳答案

变量和属性之间的基本区别在于,您可以为属性赋予属性。你不能给变量任何属性。 因此,如果您希望有任何特定的行为,例如保留变量、以原子方式访问它、在类之外进行访问,您应该使用属性。

如果您只想访问类中的变量,并且该变量没有附加特殊行为,则无需通过属性访问它。您可以直接使用变量本身。它还会提高性能。

关于iphone - 在 Objective-C 中,什么时候应该使用属性,什么时候应该使用实例变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10909039/

相关文章:

ios - 尝试裁剪非常大的图像时共享扩展程序崩溃

iphone - 为什么 didEnterRegion 调用了两次?

ios - skscene UIViewController 从 SKScene 发送短信

iphone - 我需要在xcode4.2中恢复dealloc吗?

iphone - 如何检测 UINavigationController 工具栏背景上的触摸

ios - IOS 中的索引路径嵌套 Tableview

ios - 如何将值从 UIView 的子类传递到 UIViewController 类

iphone - 对象的 3D 旋转

iphone - 获取 UIPinchGestureRecognizer 手指位置

ios - 在 UITableViewController 的 UINavigationItem 栏中从 "Done"更改后按下 "Edit"时触发什么?