如何獲取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選項上獲取NSTreeController數據
- 3. 如何獲取NSOutlineView的可見行索引?
- 4. 獲取NSOutlineView滾動到新條目
- 5. NSOutlineView數據源
- 6. 突出顯示行的NSOutlineView
- 7. 可可:NSOutlineView中的多行NSTextFieldCell
- 8. 在NSOutlineView中行的背景顏色
- 9. 獲取WrapPanel中的行數?
- 10. 獲取UItextView中的行數
- 11. 數據NSOutlineView重裝
- 12. 獲取的行數
- 13. 獲取的行數
- 14. 在NSOutlineView中顯示行顏色?
- 15. 獲取行數
- 16. 在MySQLdb中獲取行數
- 17. 乾淨的方式來獲取NSTreeController或NSOutlineView中的對象的NSIndexPath?
- 18. 如何獲取在NSOutlineView的右鍵菜單中右鍵單擊的元素?
- 19. 從mySql中的表中獲取行數
- 20. NSSplitView中的NSOutlineView徽章
- 21. NSOutlineView outlineViewSelectionDidChange
- 22. NSOutlineView + XIB
- 23. Android的sqlite:獲取表中的行數?
- 24. 在NSOutlineView源列表中取消選擇行時,行文本向上移動
- 25. 基於視圖的NSOutlineView行標記
- 26. 如何從NSOutlineView拖行NSTableView的
- 27. NSTableView/NSOutlineView重新加載指定的行
- 28. 用NSOutlineView呈現數據樹?
- 29. NSTreeController,NSOutlineview和核心數據
- 30. 用數據填充NSOutlineView - Swift
對不起,我的父親但「金額」應該是「數字」,因爲它是可以明確計數並用整數表示的東西。 – 2009-12-20 16:53:13
從數據源獲取行數是否更有意義? – Abizern 2009-12-20 16:58:06
是的,我的意思是數字不是金額。 – Joshua 2009-12-20 17:27:05