OC泛型的使用

简介: 在声明类的时候,不确定某种属性或方法类型,在使用这个类的时候才确定,就可以采用泛型如果没有自定义泛型,默认就是id类型

泛型的作用:


1.限制类型

2.提高代码规范,减少沟通成本,一看就知道集合中是什么类型


@property (nonatomic,strong) NSMutableArray<TableModel *> *dataSource;


泛型定义用法:


类型<限制类型>,在声明类的时候,在类的后面<泛型名称>


@interface TableModel<DogType> : NSObject


泛型的好处


1.从数组中取出来,可以使用点语法


self.dataSource[0].height


2.给数组添加元素,有提示


self.dataSource addObject:<#(nonnull TableModel *)#>


id类型是不能使用点语法的


什么时候使用泛型


在声明类的时候,不确定某种属性或方法类型,在使用这个类的时候才确定,就可以采用泛型

如果没有自定义泛型,默认就是id类型


定义


@interface TableModel<DogType> : NSObject
@property(nonatomic,strong)DogType dog;
@property(nonatomic,assign)CGFloat height;
@end
@interface BigDog : NSObject
@property(nonatomic,copy)NSString *name;
@end
@interface SimlDog : NSObject
@property(nonatomic,copy)NSString *name;
@end


使用


BigDog *a = [[BigDog alloc]init];
    SimlDog *b = [[SimlDog alloc]init];
    TableModel<BigDog *> *dic1 = [[TableModel alloc]init];
    dic1.height = 10;
    dic1.dog = a;
    TableModel<SimlDog *> *dic2 = [[TableModel alloc]init];
    dic2.height = 10;
    dic2.dog =b;



相关文章
|
C++ Windows
vs2017下dump文件自动生成及dump文件的调试使用
vs2017下dump文件自动生成及dump文件的调试使用
925 0
vs2017下dump文件自动生成及dump文件的调试使用
|
Swift iOS开发
iOS 用一个布局来解决嵌套问题—— UICollectionViewCompositionalLayout
iOS 用一个布局来解决嵌套问题—— UICollectionViewCompositionalLayout
iOS 用一个布局来解决嵌套问题—— UICollectionViewCompositionalLayout
|
前端开发
【CSS】纯css3螺旋状loading加载特效
【CSS】纯css3螺旋状loading加载特效
215 4
|
人工智能 Android开发 C++
Harmony中的HAP、HAR、HSP区别
Harmony中的HAP、HAR、HSP区别
782 0
|
Linux 区块链 vr&ar
Linux:当极客灵魂遇上网络热梗,一场跨界“笑”果非凡的盛宴!🎉
在这个笑点遍地的网络时代,技术界的“老炮儿”Linux与时俱进,化身技术与娱乐的跨界“段子手”。从“万物皆可盘”到“万物皆可跑”,Linux让智能设备飞速运转;面对“内卷”,它倡导自由进化而非恶性竞争;教“打工人”成为自己的Boss;在“元宇宙”中,Linux打造了一个等待探索的“平行宇宙”。Linux不仅是技术基石,更是一位幽默风趣的伙伴。
323 6
|
关系型数据库 MySQL 测试技术
如何进行数据库的升级?
【7月更文挑战第21天】如何进行数据库的升级?
1030 1
|
存储 监控 安全
Java企业级日志管理与分析
Java企业级日志管理与分析
|
Ruby
RVM切换ruby版本
RVM是Ruby Version Manager的缩写,是一个命令行工具,它可以让你轻松地安装,管理和使用多个版本的Ruby.不同的rails项目使用等ruby和rails版本不一样的时候,可以使用RVM自由切换。
5210 0
|
缓存 JSON API
IOS网络编程:什么是 RESTful API?如何使用 RESTful 风格设计 API?
IOS网络编程:什么是 RESTful API?如何使用 RESTful 风格设计 API?
493 3

热门文章

最新文章