productsArrayController

productsArrayController

我有一个名为productsArrayController的NSArrayController,该NSArrayController与NSTableViev绑定,并从核心数据返回记录。我现在想以编程方式获取NSTableView中显示的记录数。

我知道我应该从数据源(在我的情况下为productsArrayController)而不是从NSTableView做到这一点,所以我从NSArrayController出口。这是我正在尝试做的事情:

- (void)viewDidLoad {
    NSArray *myArr = [_productsArrayController selectedObjects];
    NSUInteger total = [myArr count];
    NSLog(@"Total is: %ld",total);
}


可以肯定的是,由于我目前没有选定的对象,因此即使我的NSTableView中显示9条记录,上述代码也将返回0。问题是我应该使用什么而不是selectedObjects来获取记录数(在我的情况下为9)?

最佳答案

您可以在applicationDidFinishLaunching:添加中做一件事

NSError *error;
BOOL ok = [productsArrayController fetchWithRequest:nil merge:NO error:&error];
int count = [[productsArrayController arrangedObjects] count];


答案来自以下线程URL

关于objective-c - 如何从 cocoa 应用程序中的NSArray Controller 中获取返回结果的数量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35683057/

10-13 04:00