我的 NSIndexPath 属性可以保持未设置状态吗?
当我想在表中添加或编辑值时,我使用模式视图控制器。编辑时,我在模式视图控制器上设置 NSIndexPath 属性,以便它知道要更新哪个项目。但是当添加新项目时,没有要发送的 NSIndexPath 值,因此该属性保持未设置状态。
像这样不设置房产有什么问题吗?它不允许我将其设置为“nil”。
When I want to add or edit values in my table, I use a modal view controller. When editing, I set an NSIndexPath property on the modal view controller so that it will know which item to update. But when adding a new item, there is no NSIndexPath value to send, so the property remains unset.
Is there any problem with leaving a property unset like this? It doesn't allow me to set it as "nil".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,为什么不能将其设置为nil?那应该不是问题。
其次,当对象占用的内存在分配时被清零时。这意味着当您创建对象时,所有实例变量都设置为 0、NULL、nil(全部为 0)。因此,除非您修改实例变量(或引用 ivar 的属性),否则它将为零。
First, why can't you set it to
nil
? That shouldn't be a problem.Second, when the memory that an object occupies is zeroed out on allocation. That means that all instance variables are set to 0, NULL, nil (which is all just 0) when you create an object. So unless you modify an instance variable (or a property that refers to an ivar), it will be zero.
应该没问题。我认为该属性已初始化为零。因此,在模态视图控制器的dealloc方法中,对nil对象调用release是无操作的。
或者,为了安全起见,在模态视图控制器的 init 方法中,将属性设置为 nil,例如 self.myIndexPath = nil。那应该有效。
It should be ok. The property is, I think, initialized to nil. So in your modal view controller's
dealloc
method, invokingrelease
on a nil object is a no-op.Alternatively, to be safe, in your modal view controller's init method, set the property to nil there, e.g. self.myIndexPath = nil. That should work.