2016-11-28 4 views
0

Я пытаюсь подключить приложение к работе, однако я всегда получаю следующее сообщение об ошибке: MYSQLSwift 3 - Подключение к 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 называется 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

все еще получают ту же проблему. Для второй части я еще не добавил ее (ожидал, чтобы решить эту первую ошибку) –

+0

Ok. Я рекомендую, чтобы вы посмотрели фактическое сообщение об ошибке («текст JSON не начинался с массива или объекта, а опция разрешить фрагменты не устанавливались») и поиск, если вы можете найти любую информацию об этом. – Koen

+0

aight пытается найти решение благодаря –

Смежные вопросы