将指针指向的内容以字符串的形式传递出来
2015-11-13 19:25
267 查看
假设有一个对象:
A *a = [[A alloc] init];
我们可能不关心A的类型,但是要获取 a 所指向的具体内容,该如何做呢?
可能有人会这个处理:
NSString *str = (NSString *) a ;
NSLog(@"%@", str);
这样可以将 a 的内容打印出来,细心的大家会发现,str 指向的是 a 的内容没有错,但是,str 所指向的内容还是 A 的结构,并不是我们想要的 NSString 的形式。
为什么会这样,上面的只是指针类型的强制转换,对象并没有因此而改变,这样就解释的通了。
其实,在 NSString 中有个初始化方法 initWithFormat, 没错,就是他,可以帮我们实现这一需求:
NSString *str = [[NSString alloc] initWithFormat : @"%@", a];
A *a = [[A alloc] init];
我们可能不关心A的类型,但是要获取 a 所指向的具体内容,该如何做呢?
可能有人会这个处理:
NSString *str = (NSString *) a ;
NSLog(@"%@", str);
这样可以将 a 的内容打印出来,细心的大家会发现,str 指向的是 a 的内容没有错,但是,str 所指向的内容还是 A 的结构,并不是我们想要的 NSString 的形式。
为什么会这样,上面的只是指针类型的强制转换,对象并没有因此而改变,这样就解释的通了。
其实,在 NSString 中有个初始化方法 initWithFormat, 没错,就是他,可以帮我们实现这一需求:
NSString *str = [[NSString alloc] initWithFormat : @"%@", a];
相关文章推荐
- 卖6000块的扫地机器人和我家500块的能有啥区别?
- 怎样用AT指令查询本机手机号码
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- PHP遍历目录并保存
- Win32中CInternetSession运行异常(afxCurrentAppName 为空)
- 看透智能机器人现在和未来
- 曾推动微信运动成为潮流的乐心,想要用小米模式跟传统医疗说不
- scrum阶段总结
- 删除 windows 下 node_modules 过深的目录
- MyEclipse不能部署工程
- 一种Unity2D多分辨率屏幕适配方案
- 无需要编程基础创建自己的 Linux 发行版,Linux Tycoon
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- python 学习笔记(10)
- HDOJ 1528 Card Game Cheater (模拟田忌赛马贪心)
- 图结构练习——判断给定图是否存在合法拓扑序列
- Search a 2D Matrix
- 基本类型的递减排序简单实现
- 半个柏林的路灯都让这家公司变成了电动汽车充电桩
- 使用Sublime Text 2编译运行C/C++程序