【发布时间】:2012-12-04 15:55:28
【问题描述】:
根据Mike Ash's blog post,转换为 BOOL 可能会失败 6%,因为指针大于 BOOL。因此,他建议如果您正在检查对象是否存在,则应检查 nil
if (self != nil) {
而不是 Apple 模板所做的是
if (self) {
Apple 的模板是否包含错误或是否有其他一些我不知道的语法糖?
【问题讨论】:
-
Daij-Djan:抱歉,我不是故意惹恼的,只是
1+部分让它有点晦涩。 -
Mike Ash 的帖子实际上并没有谈论
if,而是一起投向BOOL。它们在不同的部分中,分别讨论不同的陷阱:关于if的第一个是关于诸如0 <= i < count之类的链式比较,而您正在谈论的部分是关于诸如return之类的情况语句和赋值(实际上是转换为目标类型)。
标签: objective-c cocoa-touch cocoa boolean null