您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> IOS >> OC中对象强转到基本数据类型的值是怎么来的?

OC中对象强转到基本数据类型的值是怎么来的?

来源:网络整理     时间:2017/12/28 11:42:20     关键词:

关于网友提出的“ OC中对象强转到基本数据类型的值是怎么来的?”问题疑问,本网通过在网上对“ OC中对象强转到基本数据类型的值是怎么来的?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: OC中对象强转到基本数据类型的值是怎么来的?
描述:

如图:

这个值是怎么得出来的?
注:这个值还会变。。。


解决方案1:

普通类型,像int、bool、double、枚举等,都是要封装成对象放到容器(NSArray、NSDictionary)里,对象和普通类型是不能加个(int)这个强转的,这时这时把对象当指针来处理,也就是得到指针的值,也是指针指向内存的地址。NSString转int用[a intValue]。

解决方案2:

array.firstObject@"1", 是一个NSStrng对象, (int)NSString对象的意思是取对象地址进行强转为int

由于NSSring是存在内存的数据区, 所以以下代码打印结果是一样的

NSString *str = @"1";
NSArray *arr = @[@"1"];
int a = (int)str;
int b = (int)arr.firstObject;
NSLog(@"a = %zd",a);
NSLog(@"b = %zd",b);

以上介绍了“ OC中对象强转到基本数据类型的值是怎么来的?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4527825.html

相关图片

相关文章