Objective-C 基础要点解析
1. 使用非正式协议
在开发中,我们常常需要定义一组方法,希望某个类去实现,但这些方法是可选的。这种情况在委托模式中尤为常见,在向委托发送消息之前,我们会先检查委托是否实现了特定的方法。
在 Objective-C 2 中,协议可以包含声明为可选的方法。而在这之前,通常使用类别来实现非正式协议。以下是一个示例代码:
@interface NSObject (InformalProtocol)
- (id)doSomething;
@end
// Objective-C 2 only:
@protocol InformalProtocol
@optional
- (id)doSomething;
@end
如果你为 NSObject 的一个类别创建了接口,但没有提供接口定义,编译器会假定每个 NSObject 子类都能响应接口中声明的消息,因此在向对象发送这些消息时不会产生警告。不过,并非每个对象都会真正实现这些方法,所以在发送消息之前,需要使用 -respondsToSelector: 方法来检查对象是否真的实现了该方法。
2. 声明属性合成方法
Objective-C 2 的一个重要新增特性是声明属性。声明属性允许我们定义访问器的语义方面,并且在不需要特殊处理时合成相关方法。以下是一个属性声明和实现的示例:
@
超级会员免费看
订阅专栏 解锁全文
87

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



