2015-04-04 50 views
0

在Swift中,我試圖設置一個選擇器,以便它將使用返回的值作爲行的初始標題。我知道如何在初始標題設置爲常數的地方數組中:如何設置選擇標題以使用變量float作爲初始值? (Swift)

class DiagnosticLensVC : UIViewController, UIPickerViewDelegate, UIPickerViewDataSource { 

let myFloatArray : [Float] = [40,40.25,40.5,40.75,41,41.25,41.5,41.75,42,42.25,42.5,42.75,43,43.25,43.5,43.75,44,44.25,44.5,44.75,45,45.25,45.5,45.75,46,46.25,46.5,46.75,47,47.25,47.5,47.75,48,48.25,48.5,48.75,49,49.25,49.5,49.75,50] 

// picker view stuff 

func viewDidLoad() { 
    super.viewDidLoad() 

    myPicker.selectRow(0, inComponent: 0, animated: true) 

    } 
} 

但我怎麼會初始行設置爲從函數返回一個值?有沒有一種方法可以使用字典數組[Int:Float],然後將鍵設置爲數組的數字,然後將值設置爲需要用於計算的浮點數,然後將鍵設置爲索引數組?有人可以在這裏指出我正確的方向嗎?

回答

1

不知道如果我正確地理解你的問題:

你必須返回一個浮點數,現在你想將pickerView設置爲您的數據數組中的條目,等於該值的功能?

將浮點數與固定值進行比較通常是一個糟糕的主意,並且會使您發瘋。如果函數的結果值肯定是數組中的一個值,那麼根據某些計算返回數組索引而不是浮點值可能會好得多。

要查找數組中的一個元素的索引:

if let index = find(myFloatArray,42.75) { 
    println(index) // prints 11 
    myPicker.selectRow(index, inComponent: 0, animated: true) 
} 
+0

很抱歉的混亂。爲了澄清,我試圖從函數中獲取返回的float,將其傳遞給下一個視圖控制器,然後將第二個視圖控制器上的選擇器設置爲加載顯示的值。我已經設置了函數,以便它只能以四分之一的增量返回值(45.25,45.5,45.75等)。我的問題是,我無法弄清楚如何在數組中指定一個與返回值相關的索引。任何想法,我應該從哪裏去?謝謝。 – NoClue 2015-04-04 17:53:52

+0

我已經更新了我的答案 – zisoft 2015-04-04 17:57:58