所以我不确定这是如何工作的。我简要查看了一位同事的 C#(我不是 .NET 开发人员),我看到很多传递给方法的东西都是符合接口的类对象。这在objective-c中也有好处吗?
例如,我在使用 MapKit API 并创建了自己的符合 MKAnnotation 协议的类,因此我可以为放置在地图上的典型图钉提供自定义视图和一些额外属性。我打算使用我创建的这个类,
Address : NSObject
与我在地图上放置图钉时的 MKPlacemark 类相反。在我的其他视图控制器和模型类中,我是否这样做:
@property (nonatomic, strong) id <MKAnnotation> object; //1
或者
@property (nonatomic, strong) Address *object; //2
我从示例 1 开始,但是当我实际上需要 Address 对象的一些属性时,我发现自己不得不对对象进行类型转换,这似乎有什么意义,或者我错过了重点?所以我想我的最终问题是,1 还是 2 更好,在什么情况下?谢谢。