2014-10-09 64 views
2

我不是iOS大師,但我知道足以構建應用程序。我知道並理解模式,UIKit和Objective-C。現在我正在學習的Mac開發的"Cocoa Bindings Programming Topics"這一點我已經詞窮:不理解Apple的takeFloatValue來自:示例

以一個例子一個非常簡單的應用,其中,在文本字段中的值和滑塊保持同步。首先考慮一個不使用綁定的實現。 如圖2所示,文本字段和滑塊使用目標動作直接相互連接,其中每個目標動作都是對方的目標,動作是takeFloatValueFrom:(如果您不明白這一點,則應該閱讀入門指南可可。)

該實施例說明,而無需編寫任何代碼,即使不編譯的可可環境 - 兩個用戶界面對象的值被保持同步的活力。

(重點煤礦)

咦?你不需要創建網點嗎?而IBAction就像

- (IBAction)takeFloatValueFrom:(id)sender { 
    self.slider.floatValue = [sender floatValue]; 
    self.textField.floatValue = [sender floatValue]; 
} 

這是Mac的特定?你怎麼實際上在XIB中用target-action連接兩個控件而不寫任何代碼並鎖定它們的值?

+0

在哪裏找到「Cocoa入門」? – tosa 2015-03-27 18:24:37

回答

1

當您在Interface Builder中設置接口時,您可以指定它以任何方式發送消息到另一個對象。這個例子顯示的是,你可以將這兩個對象掛鉤,以便每當滑塊發生變化時,它將信息takeFloatValueFrom:發送到文本字段,反之亦然。

takeFloatValueFrom:是在NSControl上定義的方法,文本字段和滑塊都是NSControl的子類。

+0

這個macOS是特定的嗎? – 2017-05-10 23:31:04