İki pencerem var: Pencere A, NIB'den yüklenir; ve Window B programsal olarak oluşturulur.bind: toObject: withKeyPath: options: tek yönlü bir bağlantı mı?
Her iki pencere bir NSTextView vardır: Cam A textview arasında attributedString IB kullanılarak bir model özelliği text
de bağlanmıştır; B penceresindeki metin görünümünün attributedString değeri -[NSObject bind:toObject:withKeyPath:options:]
yöntemini kullanarak modelin text
özelliğine bağlıdır.
[textview bind:@"attributedString" toObject:obj withKeyPath:@"text" options:nil];
İşte garip olan: Pencere B'de TextView'un gerçekten obj.text
bağlıdır, ancak textview değişiklikler obj.text
güncellendi asla. Ancak, Window A'nın metin görünümünde değişiklik yaparsam, obj.text
ve B penceresindeki metin görünümü buna göre güncellenir.
Yani düşünüyorum, -[NSObject bind:toObject:withKeyPath:options:]
yöntemi yalnızca tek yönlü bağlantı içindir. Kakao belgelerinde açık bir açıklama bulamadım. Bu problemle ilgili tecrübesi olan var mı? Kodda iki yönlü bağlamayı nasıl uygularsınız?
Bu hala benim için çalışmıyordu. Cevabını (durumum için) burada buldum -> http://stackoverflow.com/questions/1169097/can-you-manually-implement-cocoa-bindings –
Yukarıdaki bağlantılı sorunun alaka düzeyinden emin değilim . Burada belirtilen bağ, iki NSControl nesnesi arasındadır - özel bir bağlama uygulaması gerekmez. – stevesliva