【问题标题】:BOOL being released?BOOL 被释放?
【发布时间】:2014-09-25 20:20:52
【问题描述】:

我有以下代码:

 BOOL isFiltered = ((RTRepairOrdersViewController *)self.presentingViewController).isFiltered;

 *Use isFilteredHere*

如果我通过调试器运行此代码并在第一行设置断点,isFiltered 被设置为YES,但当我尝试使用它时,它立即在下一行重置为@987654324 @。这是什么原因造成的?

【问题讨论】:

  • “正在释放”的对象不会影响对所述对象(或另一个对象)的属性评估。另外,BOOL 是一个原语,不能在这种意义上“被释放”。

标签: objective-c boolean


【解决方案1】:

当您在设置isFiltered 的行上有一个断点时,您将在设置之前中断程序。因此,您所看到的解释为 YES 实际上是未初始化的空间。如果您在例程中越过该行,该值将使用NO 的值正确初始化。

【讨论】:

  • 如果我将鼠标悬停在 self.presentingviewcontroller.isFiltered 上,它也会显示“YES”。这也是不正确的吗?
猜你喜欢
  • 1970-01-01
  • 2013-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-27
  • 2016-10-26
  • 1970-01-01
相关资源
最近更新 更多