从不同的类更改对象的值

时间:2013-03-22 07:16:09

标签: ios objective-c cocoa-touch cocoa

我有一个ViewController.m,上面有UIButtonUIWebView。 我已将UIWebView子类化为现在称为MyWebView.m的类。

UIButton内的方法更改MyWebView.m出口位置值的最有效方法是什么? 我想过NSUserDefaults,但我觉得这是最糟糕的方式。

另一个想法是复制下一行并将其添加到MyWebView.h

@property (weak, nonatomic) IBOutlet UIButton *myButton;

并将其连接到ViewController.m的按钮,但我也不确定这是否正确。

2 个答案:

答案 0 :(得分:0)

概念上按钮标题代表什么?确定并将其作为Web视图的字符串属性公开,然后让视图控制器通过键值观察来观察属性。或者,使用您自己的协议扩展UIWebViewDelegate,并让视图控制器将其自身设置为Web视图的委托。然后让Web视图通知其委托者该值已更改。

答案 1 :(得分:-1)

您可以使用app delegate类通过应用程序保存数据,但优秀的程序员也不推荐这样做。

另一种方法是使用Singleton类。这为每个应用程序会话只创建一个对象,因此您可以在整个应用程序中使用该值,也可以修改和访问该值。这是一种纯粹的方法。您可以查看http://www.galloway.me.uk/tutorials/singleton-classes/