读书人

objective c 的对象指针到底是什么解决

发布时间: 2013-06-19 10:26:41 作者: rapoo

objective c 的对象指针到底是什么
c中的指针我知道,保存的是变量的地址。但objective c 的对象指针显然不是这样。比如c的写法


int *point;
*point=2;

在objective c中就是这样

NSNumber *point=[[NSNumber alloc] init];
point=2; //如果按照c指针来理解,这里就该是*point=2;

虽然这个问题不影响平时编程,但始终是心里的一个疑问。 objective?c c
[解决办法]
引用:
c中的指针我知道,保存的是变量的地址。但objective c 的对象指针显然不是这样。比如c的写法
C/C++ code?12int *point;*point=2;
在objective c中就是这样
Objective C code?12NSNumber *point=[[NSNumber alloc] init];point=2; //如果按照c指针来理解,……



NSNumber *point=[[NSNumber alloc] init];
point= [NSNumber numberXX:];//point确实是一个指针。

你直接point = 2;是不对的。相当于给一个指针赋值为整型。

[解决办法]
NSNumber *point=[[NSNumber alloc] initWithInt:2];
NSLog(@"%@",point);
应该这样
把一个简单int型转换为了一个对象。
这样 之后你就可以对其进行一些操作, 比方说存入数组,因为oc的数组本质上是字典,NSarray 只能保存对象。

读书人网 >Iphone

热点推荐