我有以下几个属性的对象:
public class Test : NSObject
{
[Export("formattedFoo")]
public string FormattedFoo { get { return string.Format("Test {0}", Foo); } }
[Export("foo")]
public string Foo { get; set; }
}
在Interface Builder中,我有一个绑定到foo
的文本字段和一个绑定到formattedFoo
的标签。只要用户在文本字段中键入文本,就会按预期更新Foo
属性。但是,标签不会更新。
我怀疑为了将foo
和formattedFoo
之间的依赖关系传达给Cocoa,我需要实现一些东西,但我不确定是什么。
在有人跳过建议我在IB中使用格式化表达式之前,这不是一个真正的选项,因为上面是现实生活场景的一个极其简单的例子。
答案 0 :(得分:0)
想出来,这里是相关的资源:
需要使用以下方法扩展代码:
[Export("keyPathsForValuesAffectingFormattedFoo")]
public static NSSet GetDependenciesForFormattedFoo()
{
return new NSSet("foo");
}
基本上,您必须拥有一个public static
方法,其名称以“keyPathsForValuesAffecting”开头,并以具有依赖项的属性的名称结尾。