ios - 连接到 MySQL 数据库并创建数组以在其他地方使用 Swift

标签 ios mysql swift

我正在学习 Swift 并尝试从本地主机 MySQL 数据库中提取数据。按照一些教程,我能够得到这个:

   func getInfo()  {
    let url = NSURL(string: "http://localhost:8888/service.php")
    let session = NSURLSession.sharedSession()
    let task = session.dataTaskWithURL(url!) {(data, response, error) in
        var d = NSString(data: data, encoding: NSUTF8StringEncoding)
        var arr = d!.componentsSeparatedByString("<") 
        var dataweneed:NSString = arr[0] as! NSString
        if let data = NSJSONSerialization.JSONObjectWithData(dataweneed.dataUsingEncoding(NSUTF8StringEncoding)!, options: NSJSONReadingOptions.MutableContainers, error: nil) as? NSArray {

            self.tableData = data
            println(data)
        }
    }
    task.resume()

这是在 View Controller 文件中。

我从 viewDidLoad 调用函数。我在顶部声明了一个变量 tableData:NSArray = [],我可以通过函数内部的 println(data) 查看数据,但是如果我尝试在函数外部使用 tableData,它是空的。

如何获取变量“data”中的数据以便能够在函数外部使用?

最佳答案

当您以这种方式从服务器获取数据时,重新加载您的 tableView:

func getInfo()  {
let url = NSURL(string: "http://localhost:8888/service.php")
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url!) {(data, response, error) in
    var d = NSString(data: data, encoding: NSUTF8StringEncoding)
    var arr = d!.componentsSeparatedByString("<") 
    var dataweneed:NSString = arr[0] as! NSString
    if let data = NSJSONSerialization.JSONObjectWithData(dataweneed.dataUsingEncoding(NSUTF8StringEncoding)!, options: NSJSONReadingOptions.MutableContainers, error: nil) as? NSArray {

        self.tableData = data
        println(data)

        // Reload tableView here.
        dispatch_async(dispatch_get_main_queue()) {
            self.tableView.reloadData()
        }
    }
}
task.resume()

希望这会有所帮助。

关于ios - 连接到 MySQL 数据库并创建数组以在其他地方使用 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31358245/

相关文章:

ios - 如何防止 iOS 在 Swift 中自动为数字加下划线?

mysql - 单行汇总表应该有主键吗?

swift - ios13 中未调用丰富通知扩展

ios - 自定义 UINavigationController 动画完成后无响应

ios - 圆形填充为 80 %

ios - Xcode Storyboard : Button image gets stretched with autolayout

iphone - UIButton 的蓝色渐变图像错误地拉伸(stretch)为橙色渐变图像

ios - Autolayout 或使用 NSAttributedString 计算高度来实现 UITableViewCell 的动态高度,哪种方法最好?

mysql在表中选择唯一用户并根据列对其进行多次计数

php - mysql中可以根据日期或顺序记录一条直线的数据吗?