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 类 都实现一个 协议(接口)? 还是使用通知? 相互监听通知接受值?
上面两种方法都试过了,都好麻烦! 还不如都写一个类中,这样各个对象 引用都在一个类中,很容易给值
但是 项目 大,不好维护,不符合面向对象思想! 求高手给招!谢谢了!
求来高手! 怎样写最少代码,又能相互引用赋值! 又能封装在不同的类中!谢谢 展开
d类 对象 addsubview 到 c类中了,c对象 又 addsubview 到b类中,b类对象又 addview到 a类当中去,类推
最后a类对象 再添加到一个 controler.view对象中,使用!
但是 这个控制器类 要 和 a类对象中 b 中的 c中 的 d类 相互传参数值! 控制器要给d类对象设置属性值,
但是d类的对象 在c类中实例化的,控制器没有d类的引用!求高手给好方法!怎么做最好?
控制器类 和 d 类 都实现一个 协议(接口)? 还是使用通知? 相互监听通知接受值?
上面两种方法都试过了,都好麻烦! 还不如都写一个类中,这样各个对象 引用都在一个类中,很容易给值
但是 项目 大,不好维护,不符合面向对象思想! 求高手给招!谢谢了!
求来高手! 怎样写最少代码,又能相互引用赋值! 又能封装在不同的类中!谢谢 展开
1个回答
展开全部
这个好像很简单吧。。。
在viewcontroller中某方法
{
ClassB *b = a.b;
ClassC *c = b.c;
ClassD *d = c.d;
d.property = xxx;
[d method];
}
只要设置成属性就可以了嘛,当然要在viewcontroller中引入头文件
在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;并没有新生成对象,只是通过指针获取原有的对象。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询