Я хотів би мати "Детальний перегляд", коликористувач подвійний клацає по рядку, я "" просто не впевнений, як отримати дані до NSViewController, так що він може відображати зміст. Я "" використовую CoreData і я не можу придумати спосіб зробити це.
Відповіді:
1 для відповіді № 1Тут потрібно зробити кілька кроків:
Переконайтеся, що перегляд таблиці керується a
NSArrayController
і що ваш контролер для перегляду таблиці (або контролер вікна, або контролер перегляду, або що інше) має цеNSArrayController
прив'язані до ivar, щоб отримати доступ до нього.У вашому контролері таблиці встановіть дію подвійного клацання на метод у вашому контролері і встановіть ціль на ваш контролер.
У способі подвійного клацання ви можете отримати доступ до рядка, запитавши
-selectedObjects
відNSArrayController
і що в результатіNSArray
повинен мати тільки один елемент у ньому.
Звідти ви можете створити свій детальний перегляд або будь-яке інше, що ви хочете зробити з ним. Ви можете створити аркуш і показати його, відкрити модальне вікно і т.д.
1 для відповіді № 2
Прив'язки какао.
Apple має велике Підручник про створення інтерфейсу Master-Details онлайн.
Скріншоти трохи застаріли, якщо ви використовуєте Xcode 3.2, але це не так вже й відрізняється.
NSViewController має a представляється об'єктом властивість, яка дозволяє прив'язувати до моделі об'єкт, який ви зараз відображаєте.
Редагувати:
В ПОРЯДКУ. Моя відповідь не так велика, тому що це лише половина правди.
Незважаючи на те, що він показує, як прив'язати елементи керування в межах детального перегляду, він не надає рішення про те, як прив'язати вибір контролера масиву до контролера подання "s representedObject
.
Я був би зацікавлений в прив'язки тільки рішення цієї проблеми.