Бих искал да имам "детайлен изглед" за времето, когатоПотребителят двойно кликва на ред, просто не съм сигурен как да получа данните до NSViewController, така че да може да показва съдържанието. Използвам CoreData и не мога да мисля за начин да направя това.
Отговори:
1 за отговор № 1Има няколко стъпки, които трябва да направите тук:
Уверете се, че изгледът на таблицата се управлява от a
NSArrayController
и че вашият контролер за табличен изглед (или контролер на прозорци, или контролер на изгледа, или каквото и да е) има товаNSArrayController
свързани с ivar, за да имате достъп до него.В контролера на таблицата поставете действието с двойно кликване върху метод в контролера си и задайте целта на контролера си.
В метода с двойно кликване можете да осъществите достъп до реда, като поискате
-selectedObjects
отNSArrayController
и това в резултатNSArray
трябва да има само един елемент в него.
След това можете да създадете своя подробен изглед или каквото друго искате да направите с него. Можете да създадете лист и да го покажете, да отворите модален прозорец и т.н.
1 за отговор № 2
Какаови връзки.
Apple има страхотно урок за създаване на интерфейс Master-Detailе онлайн.
Екранните снимки са малко остарели, ако използвате Xcode 3.2, но това не е толкова различно.
NSViewController има a representedObject property, която ви позволява да се свържете с обекта на модела, който понастоящем показвате.
Редактиране:
ДОБРЕ. Отговорът ми не е толкова голям, защото е само половината от истината.
Въпреки че показва как да свържете контролите си в подробния изглед, той не дава решение как да се обвърже избора на контролера на масива с контролера на изгледа representedObject
.
Бих се заинтересувал от решаване само на този проблем.