Ios “类型”;“病人”;没有下标成员

Ios “类型”;“病人”;没有下标成员,ios,swift,generics,swift2,Ios,Swift,Generics,Swift2,我有一个名为“Patient”的全局类和一个类型为“Patient”的全局变量 class Patient{ var id: Int var name: String var mileage: Double init(id:Int, name:String, mileage:Double){ self.id = id self.name = name self.mileage = mileage } } 这是我如何将pSample分配给类的 for var i=0;

我有一个名为“Patient”的全局类和一个类型为“Patient”的全局变量

class Patient{
var id: Int
var name: String
var mileage: Double

init(id:Int, name:String, mileage:Double){
    self.id = id
    self.name = name
    self.mileage = mileage
}
}

这是我如何将pSample分配给类的

for var i=0; i<nou; ++i{                   
                pSample = Patient(id: json[0][i]["ID"].intValue, name: json[0][i]["Name"].stringValue, mileage: json[0][i]["Mileage"].doubleValue)   
            }
为什么我会犯这个错误


错误1:类型患者没有下标成员

您是否对
[pSample]
pSample
感到困惑?您在for循环中所做的只是更新您拥有的一个Patient实例

var pSample: [Patient] = []

for var i=0; i<nou; ++i{                   
    pSample += [Patient(id: json[0][i]["ID"].intValue, name: json[0][i]["Name"].stringValue, mileage: json[0][i]["Mileage"].doubleValue)]   
}
var pSample:[患者]=[]

对于var i=0;在应用代码之后,我得到了另一个错误-类型“Element”(aka)(String,JSON)没有下标membersWell,我只是使用了
.forEach
。事实上,我从未使用过json。我将重新编辑并使用您的for循环
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("tableCell", forIndexPath: indexPath) as UITableViewCell

    //everything refers to this
    if pSample != nil {
        let patient = pSample![indexPath.row] //error1
        if let nameLabel = cell.viewWithTag(102) as? UILabel{
            nameLabel.text = patient.name
        }

        if let scoreLabel = cell.viewWithTag(103) as? UILabel{
            scoreLabel.text = String(patient.mileage)
        }
    }else{
        let patient = patientSample[indexPath.row] as Patient
        if let nameLabel = cell.viewWithTag(102) as? UILabel{
            nameLabel.text = patient.name
        }

        if let scoreLabel = cell.viewWithTag(103) as? UILabel{
            scoreLabel.text = String(patient.mileage)
        }
    }
var pSample: [Patient] = []

for var i=0; i<nou; ++i{                   
    pSample += [Patient(id: json[0][i]["ID"].intValue, name: json[0][i]["Name"].stringValue, mileage: json[0][i]["Mileage"].doubleValue)]   
}