0

基本上我是一名 C# 开发人员,但最近几天开始学习 Objective-C。

现在我要做一个练习,需要创建一个类并将实例变量(属性)链接到UIControl视图的 s 值(例如UITextField字符串值)。

这意味着我已经IBOutlet在 ViewControler 中实现了所需的 s,在这个控制器中我将创建一个已创建类的实例。在 C# 中,类可以实现 INotifyPropertyChanged 接口,将类绑定到控件并在Datasource值发生更改时通知对象。

在 Objective C 中是否有与这个概念相同的东西?或者我怎样才能实现这样的目标,只有通过每个值都发生变化的事件Control

谢谢你。

4

2 回答 2

0

不是 100% 确定您的问题是什么。您是否在询问 ViewController 视图是否可以在模型更改时自动更新?

有许多不同的机制可以在对象/类/等之间提供通知。主要的如下(我已经包含了 IBAction,您可能知道它的完整性):

1) IBAction - 对于 UI 控件,就像您在 UIViewController 类中连接 IBOutlets 一样,您还可以在用户交互时触发事件(触摸向上/向下触摸/等)。

2) NSNotification - 你几乎可以在任何地方发布这些:

http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40003701

3)键值观察:

http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html#//apple_ref/doc/uid/10000177i

于 2012-07-04T18:31:01.100 回答
0

您的问题和语法有点模棱两可,但在我看来,您想要的是自定义(手动)属性获取器/设置器。尝试这个:

@intrface AClass: NSObject {
    int iVar;
}

@property (nonatomic, assign) int iVar;

@end

@implementation AClass

- (int)iVar
{
    // notify object of value being read, then:
    return iVar;
}

- (void)setIVar:(int)_iVar
{
    iVar = _iVar;
    // then notify object about property being set
}

@end
于 2012-07-04T18:24:33.963 回答