Objective-C中的id 类型
来源:互联网 发布:视频素材软件 编辑:程序博客网 时间:2024/05/16 11:03
Objective-C 有种叫做id 的型别,它的运作有时候像是void*,不过它却严格规定只能用在对象。Objective-C 与Java 跟C++ 不一样,你在呼叫一个对象的method 时,并不需要知道这个对象的型别。当然这个method 一定要存在,这称为Objective-C 的讯息传递。Objective-C这点的特性类似javascript。
从这个意义看,id类型是Objective-C特有的引用对象泛型的一种手段。如下的demo:
-(id) init {
self = [super init];
if(self) {
[self setLevel: 10];
}
return self;
}
int main (int argc, const char * argv[]) {
//这里本质上init返回的是id的类型,然后赋值给obj* ,其实是做了一次类型转换。
obj* ob = [[obj alloc] init];
id number;
//赋值给id 类型,然后通过该id进行调用即可。
number = ob;
[number print];
//下面的调用work well
Rectangle *rec = [[Rectangle alloc] initWithWidth: 10 height: 20];
Square *sq = [[Square alloc] initWithSize: 15];
//但下面的会编译失败,注意Square 继承了Rectangle,按照c++的则是ok的,但Objective-c这里是不行,为了能够支持这样的语法,一个做法是Rectangle的构造函数
//initWithWidth的返回值不是Rectangle * 类型,而是改成id类型。
Square *sq = [[Rectangle alloc] initWithWidth: 10 height: 20];
}
- Objective-C中的id类型
- Objective-C 中的id类型
- Objective-C中的id类型
- Objective-C中的id 类型
- Objective-c 中的id类型
- Objective-C id类型
- [Objective-C] Objective-C中的id
- Objective-C id类型实现原理
- Objective C中id类型详解
- Objective-C id类型实现原理
- Objective-C id类型实现原理
- Objective-C特有类型——id
- Objective-C id类型实现原理
- Objective-C数量类型-Objective-C id 数据类型
- Objective-C中的类型转换
- Objective-C中的枚举类型
- Objective-C中的枚举类型
- Objective-C中的布尔类型
- android系统如何自适应屏幕大小
- hadoop 版本问题
- HDOJ 2391 Filthy Rich dp动态规划.....so easy......
- 杭州天丽科技有限公司 JAVA高级程序员笔试题
- 百度地图API学习总结
- Objective-C中的id 类型
- linux 正则表达式
- MYSQL服务无法启动1067解决办法
- 做网站经常会用到的特效代码网址
- 不能为虚拟电脑开一个新任务. No error info. 返回 代码:E_FAIL (0x80004005) 组件:ProgressProxy 界面:IProgre
- 成为伟大开发者的“九步曲”
- gReader 将死,8款 Google Reader 替代品
- raid0,raid1和raid5区别
- Failed to allocate memory: 8