1
私は迅速で、httpリクエストからテーブルを作成しようとしています。Http GETからSwift配列を作成
配列はリクエスト内で正常に出力されますが、配列の外側に空の配列が残っていて、テーブルにデータが入力されません。
私は何が欠けているのか分かりません。
class affiliates: UIViewController, UITableViewDataSource {
@IBOutlet var tableView: UITableView!
var tableData = [String]()
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
// Register custom cell
var nib = UINib(nibName: "vwTblCell3", bundle: nil)
tableView.registerNib(nib, forCellReuseIdentifier: "cell3")
// Set the URL where we're making the request
let request = NSURLRequest(URL: NSURL(string: "https://***************")!)
// Perform the request
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{
(response: NSURLResponse?, data: NSData?, error: NSError?)-> Void in
// Get data as string
let str = NSString(data: data!, encoding: NSUTF8StringEncoding)
print(str!)
self.tableData.append(str as! String)
print(self.tableData)
}
);
print(self.tableData)
}
// 2
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.tableData.count
}
// 3
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell \t {
let cell: TblCell3 = self.tableView.dequeueReusableCellWithIdentifier("cell3") as! TblCell3
cell.lblAffiliate.text = tableData[indexPath.row]
return cell
}
// 4
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print("Row \(indexPath.row) selected")
}
// 5
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 70
}
}
任意の助けもいただければ幸いです。