Я пытаюсь создать действительно простое приложение для iOS с помощью Swift - я делаю это впервые. В то время как большинство из них было действительно прямолинейным. У меня был полный кошмар, чтобы заставить приложение общаться с моим API или любым сайтом в целом!
Это код, который я использую, и, в частности, код с ошибкой:
NSURLConnection.sendAsynchronousRequest(request, queue: queue, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in
println(NSString(data: data, encoding: NSUTF8StringEncoding))
})
это «NSString (данные: данные, кодировка: NSUTF8StringEncoding)», что приводит к ошибкам
Я просмотрел столько руководств, сколько смог найти, и все они возвращают мне одну и ту же проблему. Я получаю сообщение об ошибке:
NSURLErrorDomain — код: 4294966291
Я также получаю ошибку «EXC_BAD_INSTRUCTION» с: EXC_1386_INVOP, sub code = 0x0 (что не привело меня к решению...
Это заставляет меня думать, что я сделал что-то не так в своей настройке, или что-то должно быть включено в моих настройках, или что-то в этом роде, в отличие от моего кода...
это весь мой код:
var URL: NSURL = NSURL(string: "http://stackoverflow.com")
var request:NSMutableURLRequest = NSMutableURLRequest(URL:URL)
request.HTTPMethod = "POST"
var bodyData = "key1=value&key2=value&key3=value"
println(URL)
println(bodyData)
request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);
let queue:NSOperationQueue = NSOperationQueue()
NSURLConnection.sendAsynchronousRequest(request, queue: queue, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in
println(NSString(data: data, encoding: NSUTF8StringEncoding))
})
Обновлять:
Используя код Роба, я знаю, что печатается ошибка:
Ошибка sendAsynchronousRequest: Error Domain = NSURLErrorDomain Code = -1005 «Сетевое соединение было потеряно». UserInfo=0x7beafcc0 {NSErrorFailingURLStringKey=http://stackoverflow.com, _kCFStreamErrorCodeKey=57, NSErrorFailingURLKey=http://stackoverflow.com, NSLocalizedDescription=Сетевое соединение было потеряно., _kCFStreamErrorDomainKey=1, NSUnderlyingError=0x7d154ca0 "Сетевое соединение было потеряно."}
Content-Type
, например.request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
, но я не думаю, что здесь проблема. - person Rob   schedule 08.10.2014Content-Type
, я не вижу никаких проблем с приведенным выше кодом. И трудно диагностировать, если мы не можем воспроизвести проблему. - person Rob   schedule 08.10.2014