我有一个名为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/