4

我已经在 Objective-C 中完成了一个 iPhone 应用程序。当我想将标签链接到某些数据时,我会这样声明:

@interface CityDetailViewController : UIViewController {
UILabel *cityName;
}

@property(nonatomic, retain) IBOutlet UILabel *cityName;

然后当在代码中创建 CityDetailViewController 对象时,我会像这样设置城市名称[self.cityView.cityName setText:city.name];

在我的一生中,我无法弄清楚如何在 MonoTouch 中做到这一点。我尝试通过 Interface Builder 手动创建 Outlets,并尝试添加我在另一个项目的 .designer.cs 文件中找到的代码:

[MonoTouch.Foundation.Connect("headlineLabel")]
    private MonoTouch.UIKit.UILabel headlineLabel {
        get {
            return ((MonoTouch.UIKit.UILabel)(this.GetNativeField("headlineLabel")));
        }
        set {
            this.SetNativeField("headlineLabel", value);
        }
    }

我已经尝试过将这两件事结合起来。他们不工作。我能得到的最接近的是使用 Interface Builder 实际应用 Outlet,但是当我的 View 被声明时,我得到了这个错误:

此类与键标题标签的键值编码不兼容。

所以我完全不知所措。有人可以向我解释一下吗?

4

1 回答 1

17

很确定我已经弄清楚了,所以我将在此处发布该过程以供其他人查看:

第 1 步)从您的空视图开始,如下所示:( 来源:jamespwright.com第1步

第 2 步)将 UILabel 控件添加到您的视图中:( 来源:jamespwright.com第2步

第 3 步)选择“文件的所有者”:( 来源:jamespwright.com第 3 步

第 4 步)选择 Identity Inspector (CMD + 4) 并添加一个新的 Class Outlet:( 来源:jamespwright.com第4步

第 5 步)选择 Connections Inspector (CMD + 2),您应该会在那里看到您的新 Class Outlet:( 来源:jamespwright.com第 5 步

步骤 6)将连接拖到视图上的标签。

第 7 步)在您的代码中,您可以通过键入来填充它myLabel.Text = "My Label!"

希望这会在未来帮助其他人。

于 2010-02-17T02:25:18.490 回答