2016-11-28 9 views
0

私は私のアプリを接続しようとしているとの接続:スウィフト3 - MySQLの役割、しかし私は常に取得しています次のエラーに対するMySQL

2016-11-28 18:27:32.987401 Fun iOS App[12725:473105] [] __nw_connection_get_connected_socket_block_invoke 2 Connection has no connected handler 
2016-11-28 18:27:32.988626 Fun iOS App[12725:473118] PAC stream failed with 
2016-11-28 18:27:32.990092 Fun iOS App[12725:473105] [] nw_proxy_resolver_create_parsed_array PAC evaluation error: kCFErrorDomainCFNetwork: 2 
fatal error: 'try!' expression unexpectedly raised an error: Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}: file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-800.0.58.6/src/swift/stdlib/public/core/ErrorType.swift, line 178 
(lldb) 

私はのtableViewと呼ばれるテーブルビューに負荷データをしようとしています。

@IBOutlet var tableView: UITableView! 
    var values:NSArray = [] 

    var count = 0; 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     get(); 
    } 

func get(){ 

     let url = URL(string: "http://www.helpmewastetime.com/service.php") 
     let data = NSData(contentsOf: url!) 

     values = try! JSONSerialization.jsonObject(with: data! as Data, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSArray 

     tableView.reloadData() 
    } 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

     let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) 

     let maindata = values[indexPath.row] 

     return cell; 

    } 

はあなたが私はこのエラーを解決し、私が間違ってやっているかを説明助けてください。また、識別子「セル」

これは、これまでの私のコードであるとのセルを持っています。

おかげ

+0

実際のエラーは、「JSONテキストが配列またはオブジェクトで始まっていないため、フラグメントが設定できないようにするオプション」です。 JSONファイルが無効または破損している可能性があります。 – Koen

+0

ここにあなたのサーバーの応答は何ですか? –

答えて

0

ないそれはあなたのエラーに関連しているかどうかわからが、私は非常にあなたのデータをダウンロードするためにディスパッチキューを使用することをお勧めします。

DispatchQueue.global(qos: .userInitiated).async { 
    let url = URL(string: "http://www.helpmewastetime.com/service.php") 
    let data = NSData(contentsOf: url!) 
    values = try! JSONSerialization.jsonObject(with: data! as Data, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSArray 
    DispatchQueue.main.async { 
     self.tableView.reloadData() 
    } 
} 

また、あなたがnumberOfRowsInSection機能が欠落している、とあなたのセルには何も表示されません。

let maindata = values[indexPath.row] 
cell.textLabel?.text = maindata.title // or whatever your data structure is 
+0

はまだ同じ問題を抱えています。 2番目の部分についてはまだ追加しませんでした(最初のエラーを解決するのを待っていました) –

+0

私がお勧めするのは、実際のエラーメッセージ( 'JSONテキストは配列やオブジェクトで始まらず、フラグメントが設定できないようにする'オプション)を見て、それに関する情報があれば検索するということです。 – Koen

+0

aightは解決策を見つけようとしています –

関連する問題