首先,我們都知道找到一個數組的索引很容易,但我得到了一個包含多個結構的數組中的項目索引。如何在Swift中的類的數組中找到項的索引?
這是我的課:
class Patient{
private var id: Int
private var name: String
private var gender: String
private var mileage: Double
//global variable
var globalPatientID:Int{
return id
}
var globalPatientName:String{
return name
}
var globalPatientGender:String{
return gender
}
var globalPatientMileAge:Double{
return mileage
}
init(id:Int, name:String, gender:String, mileage:Double){
self.id = id
self.name = name
self.gender = gender
self.mileage = mileage
}
}
這是我的數組:
let AppUserID = prefs.objectForKey("AppUserID")
for var i=0; i<nou; ++i{
numberOfUsersExisting = nou
if (AppUserID as? String == json[0][i]["App_ID"].stringValue){
print("Assigning AppUserID")
appUserMileage = json[0][i]["Mileage"].doubleValue
}
pSample += [Patient(id: json[0][i]["ID"].intValue, name: json[0][i]["Name"].stringValue, gender: json[0][i]["Gender"].stringValue, mileage: json[0][i]["Mileage"].doubleValue)]
pSample.sortInPlace({$0.globalPatientMileAge < $1.globalPatientMileAge})
}
所以pSample最初是空白的陣列,它通過一個循環追加一類的物品。
sortInPlace函數幫助我對基於globalPatientMilaAge的pSample進行排序。
所以這讓我想到,我怎麼從類的數組中獲得我的AppUserID的索引(我把它作爲一個字符串)?
我試過使用這個函數,但它似乎不工作,因爲我循環類而不是類內的項目。
appUserRanking = pSample.indexOf("\(AppUserID)")
什麼是私人和公共的目的屬性?如果你想擁有隻讀屬性,只需將屬性聲明爲常量。 – vadian
爲了將來的參考,現在的問題是如何從結構數組中獲取索引... –