如何在 cocoa 应用程序中从 NSArray Controller 获取返回结果的数量?
How can I get number of returned results from NSArray Controller in cocoa app?
我有一个名为 productsArrayController 的 NSArrayController,它与 NSTableViev 和来自核心数据的 returns 记录绑定。我现在想以编程方式获取 NSTableView 中显示的记录数。
我知道我应该从数据源(在我的例子中是 productsArrayController)而不是从 NSTableView 来做到这一点,所以我从我的 NSArrayController 中创建了一个出口。这是我正在尝试做的事情:
- (void)viewDidLoad {
NSArray *myArr = [_productsArrayController selectedObjects];
NSUInteger total = [myArr count];
NSLog(@"Total is: %ld",total);
}
果然我此时没有选择对象,上面的代码returns0,即使我的NSTableView中显示了9条记录。问题是我应该使用什么而不是 selectedObjects 来获取此处的记录数(在我的例子中是 9 个)?
你可以在 applicationDidFinishLaunching:
添加
中做一件事
NSError *error;
BOOL ok = [productsArrayController fetchWithRequest:nil merge:NO error:&error];
int count = [[productsArrayController arrangedObjects] count];
答案取自以下话题URL
我有一个名为 productsArrayController 的 NSArrayController,它与 NSTableViev 和来自核心数据的 returns 记录绑定。我现在想以编程方式获取 NSTableView 中显示的记录数。
我知道我应该从数据源(在我的例子中是 productsArrayController)而不是从 NSTableView 来做到这一点,所以我从我的 NSArrayController 中创建了一个出口。这是我正在尝试做的事情:
- (void)viewDidLoad {
NSArray *myArr = [_productsArrayController selectedObjects];
NSUInteger total = [myArr count];
NSLog(@"Total is: %ld",total);
}
果然我此时没有选择对象,上面的代码returns0,即使我的NSTableView中显示了9条记录。问题是我应该使用什么而不是 selectedObjects 来获取此处的记录数(在我的例子中是 9 个)?
你可以在 applicationDidFinishLaunching:
添加
NSError *error;
BOOL ok = [productsArrayController fetchWithRequest:nil merge:NO error:&error];
int count = [[productsArrayController arrangedObjects] count];
答案取自以下话题URL