IOS开发类封装和值传递问题

object-c开发中,封装了几个UI控件:UIview的类,例如:abcd四个类d类对象addsubview到c类中了,c对象又addsubview到b类中,b类对象又... object-c开发中,封装了几个 UI控件 : UIview 的类, 例如:a b c d 四个类
d类 对象 addsubview 到 c类中了,c对象 又 addsubview 到b类中,b类对象又 addview到 a类当中去,类推

最后a类对象 再添加到一个 controler.view对象中,使用!
但是 这个控制器类 要 和 a类对象中 b 中的 c中 的 d类 相互传参数值! 控制器要给d类对象设置属性值,
但是d类的对象 在c类中实例化的,控制器没有d类的引用!求高手给好方法!怎么做最好?

控制器类 和 d 类 都实现一个 协议(接口)? 还是使用通知? 相互监听通知接受值?
上面两种方法都试过了,都好麻烦! 还不如都写一个类中,这样各个对象 引用都在一个类中,很容易给值

但是 项目 大,不好维护,不符合面向对象思想! 求高手给招!谢谢了!
求来高手! 怎样写最少代码,又能相互引用赋值! 又能封装在不同的类中!谢谢
展开
 我来答
在下黎叔
2015-07-13 · TA获得超过1733个赞
知道小有建树答主
回答量:981
采纳率:71%
帮助的人:297万
展开全部
这个好像很简单吧。。。
在viewcontroller中某方法
{
ClassB *b = a.b;

ClassC *c = b.c;

ClassD *d = c.d;

d.property = xxx;
[d method];

}

只要设置成属性就可以了嘛,当然要在viewcontroller中引入头文件
追问
d类在c类中实例化的啊! 这样是声明就能? 如果在控制器类  再 实例化 就是新实例了啊,地址不一样新对象的啊,不是c类实例的那个d吧?
追答
控制器中并没有生产新的d对象,只是获取本来就已经实例化的对象。
ClassD *d = c.d;并没有新生成对象,只是通过指针获取原有的对象。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式