Подкласс NSView вместо NSTableCellView

Этот вопрос является расширением этого вопроса.

Я работаю над приложением Cocoa, где я заполняю таблицу, используя Cocoa Bindings.

Я подклассифицирую NSView вместо NSTableCellView

Согласно Справочник по классу NSTableCellView

Если вы используете свои собственные настраиваемые ячейки представления, не основанные на NSTableCellView, вам следует реализовать это свойство (objectValue), чтобы иметь возможность получать изменения значений ячеек.

Также

swift
var objectValue: AnyObject?
Объектное значение автоматически устанавливается таблицей при использовании привязок или...


Это реализация моего класса, которую я буду использовать как ячейку в TableView.

class TestView : NSView {
    var objectValue: AnyObject?

    init(nameA: String, nameB: String) {
        super.init(frame: NSMakeRect(3, 3, 300, 40))

        objectValue = nameA
        let firstName = MyTextField(location: NSMakePoint(10, 10), stringVal: nameA)
        self.addSubview(firstName)

        let secondName = MyTextField(location: NSMakePoint(250, 10), stringVal: nameB)
        self.addSubview(secondName)
    }

    required init?(coder: NSCoder) {
        super.init(coder: coder)
    }
}

Хотя я объявил objectValue в TestClass, я все еще не могу связать значение объекта из IB


person Kaunteya    schedule 07.04.2015    source источник


Ответы (1)


Пользовательские представления и объекты не получают привязки пользовательских свойств в IB. ВЫ ДОЛЖНЫ УСТАНОВИТЬ ПРИВЯЗКИ В КОДЕ.

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

person uchuugaka    schedule 07.04.2015