ios - 将变量声明为一个类,并用另一个类为它分配内存有什么意义?

标签 ios objective-c declaration

例如:

UIImageView * imageView = [[MyCustomImageView alloc] init];

这样做有什么好处?为什么不做?:
MyCustomImageView * imageView = [[MyCustomImageView alloc] init];

最佳答案

好处是您可以向自己和外部隐藏实现细节。

例如,如果你要从一个方法返回这个值,外部可能并不关心它是什么类型的 ImageView ——只要它是某种类型的就行!如果它是您正在创建的私有(private)类,您甚至可能不想向外部公开该类的存在。

在其他具有适当接口(interface)的语言中,这是一种更广为人知的模式。 This article是一本好书。

关于ios - 将变量声明为一个类,并用另一个类为它分配内存有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30764116/

相关文章:

iOS Storyboard : How to segue to the second view with a back button to the first view, 但不显示第一个 View

C++包含头文件

ios - 当应用程序处于后台时如何在 didReceiveRemoteNotification 上打开特定的 View Controller

iphone - Tapjoy 屏幕似乎向上移动

objective-c - 在 UITabBar 应用程序中旋转一个 UIViewController

ios - 从 AFHTTPSessionManager 获取数据

java - 哪些情况下允许在静态初始化程序 block 中进行前向引用?

c++ - 类声明大括号后的分号

objective-c - 用户滚动时如何使右侧/腿部的图像居中

ios - 使用 CALayer 使按钮变圆的令人费解的行为