如何获取NSOutlineView中的总行数?获取NSOutlineView中的行数
回答
这是否包括在扩展行任何从属行?例如,如果foo包含bar,baz和qux,并且被展开,那么bar,baz和qux也是可见的行。相反,如果foo没有展开,那么bar,baz和qux不是“NSOutlineView中的行” - 它们只存在于你的模型中。
忘掉大纲视图。这是无关紧要的,并混淆了你的问题。你想知道你有多少你的模型对象,所以要问拥有它们的控制器。
人们在说“询问数据源”,因为该控制器是应该成为视图数据源的对象。但忘记大纲视图,并忘记其数据源属性。直接与控制器通话。询问它有多少个模型对象。如果你想知道答案的深层版本(你有多少东西,包括其他东西),请问这个问题。无论哪种方式,也可以在该控制器中实现一个方法来提供答案。
附录:请记住the separation of powers in Cocoa。你有一个模型,这是用户的对象形式的数据;视图,它将模型显示给用户;和拥有模型和视图的控制器。你说这不是一个与绘图有关的问题;这使得它不是一个视图的问题(“你会画多少行”),而是一个控制器的问题(“你拥有多少种类的东西>”)。因此,你需要问一个控制器。
是的。这是我根据你的回答决定要做的。我已经从模型对象完成了一个获取请求,然后获得了数组的数量。这里... http://grab.by/1jKg。这是你在想什么吗?有用。 – Joshua 2009-12-21 07:41:28
这不是我在想什么,但我不是一个核心数据人。据我所知,这足够接近。 (顺便说一句,不要忽略警告,这个警告很重要,它也会影响到它之前的行,它使用正确的格式化程序来处理你正在使用的类型,但错误的格式化程序应该用于你应该使用的类型。) – 2009-12-21 22:16:51
Peter的讲座过于狭隘和自以为是。虽然它可能对某些受众有所帮助,但它并不回答提出的字面问题。迈克尔的答案应该足够了。了解Apple根据Michael提供的API作为API提供的当前行数对于了解NSOutlineView在做什么的开发人员来说是非常宝贵的。关于MVC的讲解不是很有帮助。 – ctpenrose 2015-03-19 21:54:42
有一个名为numberOfRows的方法,它返回一个NSInteger。 例如您NSOutlineView被称为outlineView:
NSInteger *rows = [outlineView numberOfRows];
文档浏览:
https://developer.apple.com/documentation/appkit/nstableview/
“通常你不应该问表视图有多少行了;相反,你应该询问表视图的数据源。 “
有一个非正式的协议,如果你在使用的tableView真的坚持,那就是:
– numberOfRowsInTableView: (NSTableDataSource informal protocol)
这是问题的正确答案 - 它返回大纲视图中可见行的数量(忽略模型中由于未展开而不可见的项目)。 – 2015-06-12 16:05:09
我冒昧地将答案的文档URL指向超类NSTableView (无论如何链接都被中断),其中-numberOfRows被定义。它确实返回了NSOutlineView中可见行的数量(在10.13.3中测试过),尽管我不觉得我们100%保证了这将始终用于大纲而不是表格。 – 2018-02-10 19:02:27
- 1. 获取NSOutlineView行是可编辑的
- 2. 如何获取NSOutlineView的可见行索引?
- 3. 获取NSOutlineView滚动到新条目
- 4. NSOutlineView数据源
- 5. 在NSOutlineView中行的背景颜色
- 6. 可可:NSOutlineView中的多行NSTextFieldCell
- 7. 获取UItextView中的行数
- 8. 数据NSOutlineView重装
- 9. NSOutlineView源列表的数据
- 10. 获取的行数
- 11. 在NSOutlineView中显示行颜色?
- 12. 干净的方式来获取NSTreeController或NSOutlineView中的对象的NSIndexPath?
- 13. NSSplitView中的NSOutlineView徽章
- 14. Android的sqlite:获取表中的行数?
- 15. NSOutlineView outlineViewSelectionDidChange
- 16. NSTableView/NSOutlineView重新加载指定的行
- 17. 用NSOutlineView呈现数据树?
- 18. MySQL获取innodb表中的行数
- 19. 如何获取swt.table中的总行数
- 20. Selenium IDE:获取表格中的行数
- 21. 获取HTML表格中的行数
- 22. 获取表格中的行数
- 23. 从MySQL中的多行获取总数
- 24. 获取Java中ResultSet返回的行数
- 25. 获取PostgreSQL中UPDATE影响的行数
- 26. 获取sql中的结果行数php
- 27. 获取DISTINCT行的函数
- 28. 获取删除的行数。
- 29. 获取相同的行数
- 30. Jquery DataTable从点击按钮获取的行中获取数据
对不起,我的父亲但“金额”应该是“数字”,因为它是可以明确计数并用整数表示的东西。 – 2009-12-20 16:53:13
从数据源获取行数是否更有意义? – Abizern 2009-12-20 16:58:06
是的,我的意思是数字不是金额。 – Joshua 2009-12-20 17:27:05