2016-02-26 48 views
0

我試圖將UISegmentedControl轉換爲UISwitch。我成功地檢查了交換機的狀態。等價的UISegmentedControl selectedSegmentIndex在UISwtich-目標C

然後,我看到這行代碼:

self.mobile3GSegment.selectedSegmentIndex = [mConfigurationService getBoolWithKey:NETWORK_USE_3G]; 

我試着猜UISwitch如何做到這一點。所以......

self.mobile3GSwitch.state = [mConfigurationService getBoolWithKey:NETWORK_USE_3G]; 

,然後我得到這個錯誤:

Property 'selectedSegmentIndex' not found on object of type UISwitch

我知道UISwitch是不是段和返回YES或NO。錯誤不在這裏。我想了解的是,如何將代碼段轉換爲UISwitch。

我現在幾乎失去了。什麼是正確的方法來做到這一點?

+0

是的,我知道。我的問題與你的答案不同。 – theFool

+0

共享「getBoolWithKey」方法的實現。 – NSNoob

回答

1

你必須使用一個簡單的函數setOn(假設你的方法返回布爾是正確的)。

[_mobile3GSwitch setOn:[mConfigurationService getBoolWithKey:NETWORK_USE_3G] animated:NO]; 
+0

我正在使用一個非常古老的圖書館。這是getBoolWithKey - (BOOL)getBoolWithKey:(NSString *)key { \t return [defaults boolForKey:key]; } 感謝您的回答。這是我第一次處理交換機,所以我只需要尋求幫助,因爲我沒有太多時間來處理這個項目。 – theFool

+0

啊,那麼你的方法是安全的。它沒有錯。快樂的編碼 – NSNoob

0

UISwitch是二元的:打開或關閉。它有一個屬性on,而不是一個選定的分段索引,因爲沒有分段。 當您遇到困難時,結帳Apple的文檔始終是個好主意:link