2015-07-03 24 views
0

我正在爲NSTextField創建子類,以便用戶可以使用向上和向下光標鍵遞增/遞減整數值。它可以通過其代理正常工作,但通過setIntegerValue:設置用戶界面狀態不會更新通過可可綁定綁定的基礎值。如何找出NSControl通過可可綁定綁定到什麼對象

而不是更新控件我需要更新模型,所以我需要找到控件綁定的對象和使用的關鍵路徑。

我找不到任何地方如何做到這一點,所以我已經超負荷我NSTextField子類,其中建立了約束力,在那裏我可以看到兩個被觀察的對象及其關鍵路徑的- bind:toObject:withKeyPath:options:方法,但我肯定複製已在控制中的某處可用的信息..

是否有方法通過Cocoa綁定獲取控件綁定到的對象和鍵路徑,而不會像這樣黑客入侵?

我很感激任何幫助。

回答

0

是的,有一個更好的辦法:

- (NSDictionary *)infoForBinding:(NSString *)binding 

有關結合,或者零如果結合不綁定信息的字典。該字典包含三個鍵/值對:NSObservedObjectKey:對象綁定,NSObservedKeyPathKey:鍵路徑綁定,NSOptionsKey:具有綁定選項及其值的字典。

+0

謝謝。我已經看到了這一點,但沒有意識到我可以通過'@「值」'來獲得正確的綁定。現在工作正常。 –