Objective-C编程:从nil处理到集合操作的全面指南
1. nil值的处理
在Objective - C中,nil值的处理需要特别注意。当委托(delegate)为nil时, -conformsToProtocol: 消息会返回 NO ,这是合理的,因为nil对象不实现任何协议。
nil同样适用于属性值。如果 collection 为nil, collection.count 总是返回0,因为 collection.count 会被转换为 [collection count] 。并且存在级联效应,例如 [viewController.button.superview.backgroundColor setFill] ,只要 backgroundColor 、 superview 、 button 或 viewController 中有一个为nil,该语句就不会执行任何操作。
在设计中,可以用积极的方式表达返回值和属性值,比如定义 -hasContent 方法而不是 -isEmpty 。当对象引用为nil时, -hasContent 返回 NO ,这符合逻辑;而 -isEmpty 也返回
超级会员免费看
订阅专栏 解锁全文
581

被折叠的 条评论
为什么被折叠?



