我在視圖控制器中定義了一個NSOpUpButton:
@property (weak) IBOutlet NSPopUpButton* popUpButton;
此視圖控制器還有一個NSMutableArray,其中包括一些NSDictionary類型的對象,例如:
NSDictionary *obj = @{@"name1": @"something",
@"name2": @"something else"};
[myMutableArray addObject: obj];
我希望我的NSOpUpButton能夠反映此數組中包含的所有元素的name1字段的內容,但我不知道如何使用Xcode中的綁定檢查器來實現這一點。
如果我在故事板中選擇NSOpUpButton,綁定檢查器中將顯示以下內容:
我應該使用“內容”還是“內容價值觀”來實現我想要的東西?(假設這是可能的)。我見過一些人使用ArrayController,但我想知道是否可以在沒有它的情況下進行此操作。
您可以通過將
Content
綁定與myMutableArray
連接,將Content Values
綁定與myMutableArray.name1
連接來實現這一點。然而,您可能會遇到另一個問題:向
NSMutableArray
添加對象不會觸發key-value通知,因此如果您在UI加載后添加值,這些值將不會顯示。為了在修改后解決這個問題,您可以將可變數組分配給另一個實例變量,并以可觀察的方式將UI綁定到該數組: