在tableview中显示数据库中下载的数据

时间:2014-10-15 20:56:07

标签: mysql json swift nsmutablearray

我使用PHPMyAdmin创建了一个数据库。然后我将一个php文件上传到一个Web服务来加载数据库。现在我有php文件的url,它加载了数据库。

此代码可以很好地将数据库加载到应用程序中:

func retrieveData() {
    let url:NSURL = NSURL(string: phpURL)!
    var data:NSData = NSData(contentsOfURL: url)!
    json = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: nil) as NSMutableArray

    for (var i:NSInteger = 0; i < json.count; i = i + 1) {
        newPlatz = json.objectAtIndex(i).objectForKey("Platz") as? NSString
        newVerein = json.objectAtIndex(i).objectForKey("Verein") as? NSString
        newPunkte = json.objectAtIndex(i).objectForKey("Punkte") as? NSString
        newDifferenz = json.objectAtIndex(i).objectForKey("Differenz") as? NSString
        newSpiele = json.objectAtIndex(i).objectForKey("Spiele") as? NSString

        var myBundesliga:Bundesliga = Bundesliga.alloc()
        myBundesliga.initWithBundesligaID(newPlatz, nVerein: newVerein, nSpiele: newSpiele, nDifferenz: newDifferenz, nPunkte: newPunkte)
        bundesligaArray = NSMutableArray.alloc()
        //bundesligaArray.addObject(myBundesliga)

        println("\(newPlatz!);\(newVerein!);\(newPunkte!);\(newDifferenz!);\(newSpiele!)")

    }


}

控制台中的输出:

1;FC Bayern München;17;13;7
2;TSG Hoffenheim;13;5;7
3;Bor. Moenchengladbach;13;5;7
4;Bayer 04 Leverkusen;12;2;7
5;1. FSV Mainz 05;11;4;7

依旧......

完美无缺。但现在我不知道如何在tableview中显示数据。正如您在上面的代码中看到的,两个斜杠后面的行代码不能完美地工作。总是当我运行应用程序时,此行中存在“线程1:断点1.1”错误:

bundesligaArray.addObject(myBundesliga)    

我不知道为什么。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

问题在于您如何实例化对象。你有:

bundesligaArray = NSMutableArray.alloc()

应该是:

bundesligaArray = NSMutableArray()

当然,您希望在 for循环之前定义,而不是在其中。


或者,如果您想使用Swift数组,请将bundesligaArray定义为:

var bundesligaArray: [Bundesliga]?

你用

实例化它
bundesligaArray = [Bundesliga]()

您可以使用

添加对象
bundesligaArray?.append(myBundesliga)