objective-c - 我应该在 Objective C 中哪里初始化变量?

标签 objective-c ios xcode

在 Objective C 中,我应该覆盖 init 方法来初始化我的变量吗?如果变量是属性,我仍然可以通过通常的方式访问它们来设置其初始值吗?

最佳答案

In objective c, should I overwrite the init method to initialize my variables?

是的。具体来说,指定的初始值设定项。

您的子类还可以指定另一个构造阶段(例如viewDidLoad)。此外,对象的内存在分配时会被清零,因此您不需要将它们显式设置为 0/nil(除非您发现它更具可读性)。

If the variables are properties can I still access them the usual way to set their initial value?

您应该避免使用对象的实例方法/访问器,并在部分构造的状态下直接访问ivars(特别是初始化器和dealloc)。您需要避免许多副作用 - Example Here ;

关于objective-c - 我应该在 Objective C 中哪里初始化变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10704291/

相关文章:

ios - UIview.hidden 不会消失,而是隐藏在另一个 View 后面

ios - 保存包含一堆核心数据对象的字典的最佳方法?

ios - 在 Xcode 中,委托(delegate)对象如何知道要调用委托(delegate)对象的哪个方法?

ios - 缺少代码签名权利 - 在 bundle 'com.google.Googleplus' 中找不到任何权利

ios - 如何启用 UITableView 滑动删除以及水平页面滑动

iphone - NSUserDefaults 不保存在 iOS 7

ios - 范围异常索引超出范围时崩溃

react-native AwesomeProject 的 Xcode 构建失败

ios - 如何以编程方式展开到 2 个不同的 VC

ios - 如何在 iOS MFMailComposeViewController 中预选邮件帐户?