iOS强大的泛型

发布在 Objective-C

在学习安卓的过程中,发现java的泛型机制特别的好用,Objective-C是一门动态性弱类型语言,例如毫无关系的两个类ABA *a = [[B alloc] init]Objective-C编译和运行中都不会出错。但是A a = new B()java中编译失败。这样,可以强制编程人员注意类型转换。

在不了解Objective-C的泛型之前,我一直以为Objective-C的泛型是鸡肋,例如:

@property (nonatomic, strong) NSMutableArray<NSString *> *times;
[self.times addObject:[[NSObject alloc] init]];

我声明一个NSString类型的泛型数组,但是我往数组中添加的是一个NSObject类型的对象,虽然编译器会警告,但并不会报错(大部分程序猿也会忽略这个警告)。所以,我认为Objective-C的泛型是鸡肋。当然,这只是我之前的自以为(还是自己学的不深入)。但是今天看过一篇介绍Objective-C的泛型以后,才发现Objective-C也能做到编译时报错。

阅读全文

深入理解Block

发布在 Objective-C

iOS开发中,经常会使用到Block,那Block到底是什么?它的实现方式是什么?通过阅读《Objective-C高级编程:iOS与OS X多线程和内存管理》,会对Block有个更深的了解。

阅读全文
  • 第 1 页 共 1 页
Copyrights © 2019 贵永冬. All Rights Reserved.
作者的图片

贵永冬

iOS开发者
会一点RN和android, 十足的海贼迷


河南信悦通网络科技有限公司


河南 郑州