黑马程序员技术交流社区

标题: 怎么才能让创建的对象指向同一个对象? [打印本页]

作者: libra    时间: 2014-7-3 17:22
标题: 怎么才能让创建的对象指向同一个对象?
如何修改init方法?
作者: fantacyleo    时间: 2014-7-3 18:11
你说的是一种叫单例的设计模式。这个在java中很容易实现:
1. 私有的构造函数
2. 私有的本类类型的静态变量
3. 公开的静态方法返回2中的私有静态变量
建议你暂时还是不要在OC中考虑这个问题了,因为OC中的方法,包括构造函数不能私有,要实现单例涉及到一些底层的东西
作者: libra    时间: 2014-7-3 20:37
fantacyleo 发表于 2014-7-3 18:11
你说的是一种叫单例的设计模式。这个在java中很容易实现:
1. 私有的构造函数
2. 私有的本类类型的静态变量 ...

哥,这是我入学测试一道题。
作者: fantacyleo    时间: 2014-7-3 21:09
libra 发表于 2014-7-3 20:37
哥,这是我入学测试一道题。

那就无视1、3,直接设置一个本类类型的静态变量,创建对象来到init方法时,直接返回这个静态变量就好了
作者: libra    时间: 2014-7-3 21:12
fantacyleo 发表于 2014-7-3 21:09
那就无视1、3,直接设置一个本类类型的静态变量,创建对象来到init方法时,直接返回这个静态变量就好了 ...

哥,oc 也有静态变量? 还是个对象类型?
作者: fantacyleo    时间: 2014-7-3 21:35
libra 发表于 2014-7-3 21:12
哥,oc 也有静态变量? 还是个对象类型?

.m文件的@implementation 之前是可以用static关键字定义静态变量的
作者: 徐开伟    时间: 2014-7-3 23:31
我也有这题  貌似黑马的视频没讲这个   没办法 网上找了个视频学习了才做的。。。
作者: 522049094    时间: 2014-7-3 23:42
疯狂ios教程里面就有

作者: libra    时间: 2014-7-3 23:45
522049094 发表于 2014-7-3 23:42
疯狂ios教程里面就有

求连接~
作者: 522049094    时间: 2014-7-3 23:48
我是自己买的书,我看的书籍。书上面就有啊!入学测试题你拿到这里来问不合适吧,难道要别人直接告诉你答案?

作者: libra    时间: 2014-7-3 23:49
522049094 发表于 2014-7-3 23:48
我是自己买的书,我看的书籍。书上面就有啊!入学测试题你拿到这里来问不合适吧,难道要别人直接告诉你答案 ...

{:3_58:}不是,求提示,求思路。。
作者: libra    时间: 2014-7-3 23:50
徐开伟 发表于 2014-7-3 23:31
我也有这题  貌似黑马的视频没讲这个   没办法 网上找了个视频学习了才做的。。。 ...

哪个视频?有没有连接?我也去学习学习。
作者: 522049094    时间: 2014-7-3 23:53
你去百度搜疯狂ios教程啊!是另外一个培训机构出的,中文书中是卖的最好的。我勉强通过入学了,现在就在看这本书。也不算什么好书,但是自己基础很一般,就拿来看看
作者: fantacyleo    时间: 2014-7-4 00:02
这个题实际上就是要求实现单例。如果是java,7、8行就写好了。不过oc的方法不能私有,创建对象还分alloc和init两个阶段,这就坑爹坑惨了。百度了一下,要做这题,至少要重写allocWithZone、getInstance这两个底层方法。
作者: 522049094    时间: 2014-7-4 07:11
libra 发表于 2014-7-3 23:49
不是,求提示,求思路。。

qq吧,我的522049094
作者: 522049094    时间: 2014-7-4 07:12
libra 发表于 2014-7-3 23:49
不是,求提示,求思路。。

我只有晚上qq才在线啊
作者: libra    时间: 2014-7-4 16:37
522049094 发表于 2014-7-4 07:12
我只有晚上qq才在线啊

{:3_65:}你设置拒绝加好友。。
作者: 奋斗2014    时间: 2014-7-4 17:22
每太明白你说的什么意思?能详细点不?
作者: 522049094    时间: 2014-7-4 18:35
那我加你吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2