2013-03-12 6 views
0

Я совершенно новый для рамки Cocoa с точки зрения языка и фреймворка. Что представляет собой эквивалентный класс для создания представления Tree в Mac OS X. Я пытаюсь перенести пользовательский интерфейс в Mac OS X. В этом древовидное представление используется для хранения некоторых имен и имен под ними. Они устанавливаются функцией, предоставляемой мной (скажем, AddItemUnder).Древовидный вид на какао

Как создать древовидную структуру на Mac OS X? Я видел NSOutlineView. Но для этого требуется источник данных. В моем случае у меня нет источника данных.

Кроме того, в моем случае в объективе-C будет использоваться только связанный пользовательский интерфейс. Код останова будет на C++ и может быть общим как для Windows, так и для Mac OS X.

В настоящее время мне нужно древовидное представление, где я могу добавлять элементы, такие как иерархическое дерево.

ответ

1

В моем случае у меня нет источника данных.

Если у вас нету данных, что вы собираетесь отображать в GUI OSX?

Я бы сказал, что у вас есть данные, которые называются Model, и вы используете GUI для части View, а для привязки модели с View вам нужен контроллер. Вам предоставляется контроллер под названием NSTreeController.

Если вы недовольны TreeController, вы можете перейти на NSMutableDictionary и продолжить добавлять объекты под объекты до любого уровня.

Что-то вроде этого:

@"World":@"worldKey"  
    [email protected]"Asia":@"asiaKey" 
      [email protected]"[email protected]":@"indiaKey" 
       [email protected]"Bangalore:@"bangaloreKey" 
      [email protected]"@"Japan":@"japanKey" 
    [email protected]"Europe":@"europeKey" 
      [email protected]"England":@"englandKey" 
       [email protected]"OldTrafford":@"oldTraffordKey" 
    [email protected]"Australia":@"australiaKey" 
      [email protected]"NewSouthWales:@"newSouthWalesKey" 
+0

Значит, у меня нет каких-либо данных, предшествующих созданию Tree View. Данные будут добавлены позже, когда пользователь вызовет эту функцию. – doptimusprime

+0

Да, obj-c, основанный в KVC, и даже TreeViewController использует KVC-KVO для формирования KVB. Если у вас нет идеи до этого во время выполнения, вы можете создать собственную структуру данных. –

+0

Я совершенно новый для Какао. Что такое KVC, KVC-KVO и KVB? – doptimusprime