Objective c 非控制器类中NSArray大小的IBOulet

Objective c 非控制器类中NSArray大小的IBOulet,objective-c,cocoa-touch,interface-builder,Objective C,Cocoa Touch,Interface Builder,我有一门课,内容大致如下: @interface Foo : NSObject { NSMutableArray *bar; } Foo不是一个控制器——它负责一些我想要封装的其他逻辑 我想用一个标签来显示酒吧的大小。如果它是控制器中的一个值,我可以简单地将它变成一个IBOutlet,在IB中连接它,然后一切都会正常工作 我可以用上面的工具栏来实现吗?如果您使用该类来封装某些功能,请不要用它来更新UI。相反,在视图控制器中有一个类Foo的实例,并让视图控制器用条的大小值更新标签的值。您

我有一门课,内容大致如下:

@interface Foo : NSObject {
    NSMutableArray *bar;
}
Foo不是一个控制器——它负责一些我想要封装的其他逻辑

我想用一个标签来显示酒吧的大小。如果它是控制器中的一个值,我可以简单地将它变成一个IBOutlet,在IB中连接它,然后一切都会正常工作


我可以用上面的工具栏来实现吗?

如果您使用该类来封装某些功能,请不要用它来更新UI。相反,在视图控制器中有一个类Foo的实例,并让视图控制器用条的大小值更新标签的值。您应该通过访问器使bar可用

我在控制器类中有一个实例,但我不确定如何从那里开始“让视图控制器更新标签的值…”我想有两种方法。为Foo类创建一个委托,并在每次修改数组时向该委托发送一条消息,或者使用键值观察来观察对ArrayHMM的更改。。。我知道在控制器中何时发生会修改阵列的事件。听起来最好的选择可能是在控制器类中有一个简单的整数&每当数组改变时更新它。