objective-c - 设计一个接口(interface)而不是 Objective-C 中的实现

标签 objective-c cocoa-touch ios design-patterns

我一直在读一本关于 Objective-C 设计模式的书,我读过很多次,比如

id <AProtocol> obj;

但我认为,在实践中,它并不真正可用,原因很简单:在 iOS 中,您必须管理对象上的内存调用释放。如果您使用“id <Protocol>”简单地声明它并且您需要释放该 obj,XCode 将警告您“释放”方法不在该协议(protocol)中。

所以更现实的方法是
NSObject <AProtocol> *obj;

我对吗?

最佳答案

还有一个 NSObject 协议(protocol),所以你可以简单地定义:

@protocol AProtocol <NSObject>

那样 retain , release等 NSObject 的方法是可见的。另见 this question .

关于objective-c - 设计一个接口(interface)而不是 Objective-C 中的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5663959/

相关文章:

ios - 我无法使用自动布局

android - Delphi TListview - 搜索项目并自动滚动到该项目

ios - swift3 从空投中接受一个文件

objective-c - iOS 将图像拉伸(stretch)到全屏

iphone - 向场景添加层不起作用

iphone - UITableView 复制所有行的第一个 NSArray 项目

objective-c - 导入并包含在头文件中 - 什么时候可以?

iOS 已弃用的 dataWithContentsOfMappedFile 替换

ios - 如何在 Xcode 中的 CALayer 上方制作按钮或标签?

ios - UIPageViewController 作为 subview 将禁用 iOS 中的主视图事件