iphone - 实例变量到底是什么?为什么它们如此重要?

标签 iphone objective-c ios xcode instance-variables

我已经阅读了相当多的 Objective C 书籍,看到了大量的在线视频教程,但我一直停留在这一点上。我知道实例变量是在接口(interface)中的大括号之间编码的,但为什么它们如此特殊并且与大括号外的其他变量甚至接口(interface)不同。

例如。

@interface CustomClassName : NSObject {
  NSString *myString;
}
@end

为什么不:

@interface CustomClassName : NSObject {}
NSString *myString;
@end

或者:

@interface CustomClassName : NSObject {}
@end
NSString *myString

他们有什么特别之处?有人告诉我这是语言的语法。我如何知道某个变量是否需要在大括号内声明。我尝试用谷歌搜索这个,阅读我书中的章节,(我有Head First iPhone and iPad Development & 绝对初学者的 Objective-C ),但徒劳无功。如果有人能解释其中的差异,那就太好了!

最佳答案

看来您对 Objective-C 的世界还很陌生。您应该查阅有关该主题的现有 Material 。它将开始解释名为 @property 的内容,您将开始理解实例变量的用途。

对于我来说,当我想在类实现中使用原始类型时,我会使用 ivars,该类型的值必须在对象的生命周期内持续存在。所以类似:

@interface Person : NSObject {
   int age;
 }

关于iphone - 实例变量到底是什么?为什么它们如此重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12996180/

相关文章:

ios - 在 Swift 中根据条件使用调度队列的最佳方法

iphone - 释放由 GLKTextureLoader 分配的纹理(GLKTextureInfo 对象)

ios - 要求用户使用 swift2 从照片库或相机中选择照片

ios - 如何在没有共享 UI 的情况下在 iOS8 中创建共享扩展

ios - 自定义单元格中无法识别属性

ios - 在 moreNavigationController navigationBar ios 5 中更改图像背景

iOS8 - 不显示自定义标签栏图像

iphone - 识别iPhone静音模式

iPhone:- 从标签文本中识别链接

ios - Alamofire Error.localizedDescription - 操作无法完成