Swift를 사용하여 정말 기본적인 iOS 앱을 만들려고합니다. 처음 시작합니다. 그것의 대다수는 정말로 곧장 앞으로 나아 갔다. 앱을 내 API 또는 일반적으로 어떤 사이트와도 통화 할 수있는 악몽이 가득했습니다. 그 오류Swift : 웹 API와 통신 할 때 오류가 발생했습니다.
I '가 NSURLConnection.sendAsynchronousRequest(request, queue: queue, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in
println(NSString(data: data, encoding: NSUTF8StringEncoding))
})
는 "(: 데이터 인코딩 NSUTF8StringEncoding 데이터)는 NSString'이다 :
이
제가 사용하고 코드 및 erroring된다 특히 코드 내가 찾을 수있는 많은 튜토리얼을 살펴 보았는데, 모두 똑같은 문제를 나에게 돌려 준다. 내가 말하는 오류 얻을 :NSURLErrorDomain - 코드 : 4294966291
나는 또한있는 'EXC_BAD_INSTRUCTION'오류 얻을 : 솔루션에 저를 인도하지 않은 EXC_1386_INVOP, 서브 코드 = 0x0으로을 (... 이것이
제가 바로 내 셋업에서 뭔가를하지 않은, 또는 뭔가가 내 환경 설정에서 켜져 있어야하거나, 내 코드는 반대로 그 라인을 따라 뭔가 생각하게
... 내 전체 코드 :
,451,515,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: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo=0x7beafcc0 {NSErrorFailingURLStringKey= http://stackoverflow.com , _kCFStreamErrorCodeKey=57, NSErrorFailingURLKey= http://stackoverflow.com , NSLocalizedDescription=The network connection was lost., _kCFStreamErrorDomainKey=1, NSUnderlyingError=0x7d154ca0 "The network connection was lost."}
게시하기 전에 URL을 변경 했습니까? 위는 나를 위해 일한다. 나는 항상'Content-Type'을 설정했습니다. 'request.setValue ("application/x-www-form-urlencoded", forHTTPHeaderField : "Content-Type")', 그러나 나는 이것이 문제라고 생각하지 않는다. – Rob
이것은 문자 그대로의 코드입니다! – user2707631
다음으로 [Charles] (http://charlesproxy.com)와 함께 실행하고 응답이 어떻게 표시되는지 확인합니다. – Rob