当我想在表中添加或编辑值时,我使用模态视图控制器。编辑时,我在模态视图控制器上设置了一个 NSIndexPath 属性,以便它知道要更新哪个项目。但是在添加新项目时,没有要发送的 NSIndexPath 值,因此该属性保持未设置。
像这样不设置属性有什么问题吗?它不允许我将其设置为“nil”。
当我想在表中添加或编辑值时,我使用模态视图控制器。编辑时,我在模态视图控制器上设置了一个 NSIndexPath 属性,以便它知道要更新哪个项目。但是在添加新项目时,没有要发送的 NSIndexPath 值,因此该属性保持未设置。
像这样不设置属性有什么问题吗?它不允许我将其设置为“nil”。
应该没问题。我认为该属性已初始化为零。因此,在您的模态视图控制器的dealloc
方法中,调用release
nil 对象是无操作的。
或者,为了安全起见,在模态视图控制器的 init 方法中,将属性设置为 nil,例如 self.myIndexPath = nil。那应该行得通。
首先,你为什么不能设置它nil
?那应该不是问题。
其次,当一个对象占用的内存在分配时归零。这意味着当你创建一个对象时,所有的实例变量都被设置为 0、NULL、nil(都只是 0)。因此,除非您修改实例变量(或引用 ivar 的属性),否则它将为零。