2016-07-16 5 views
0

ここに新しい人がいますが、ここで特定のものを検索するのに使われています。特定の回答が見つからなかったので、ここの誰かが助けてくれるかもしれません。アラートコントロールメッセージとNSURLSession

私は基本的にアプリを学び、構築しています。

現時点では、私はビルドログイン、サインアップビューコントローラなどを持っています。 PHPとMySQLサーバを使用しています。私は警告制御メッセージの問題で問題に遭遇しているスタックオーバーフローの上にビット片によって

を使用して、ビットを取っイム以来

とNSURLConnection

今私はNSURLConnectionNSURLSession により置換されていることを知っているが、私これを実現することはできません。

私のコードは以下の通りです:

let request:NSMutableURLRequest = NSMutableURLRequest(URL: url) 
request.HTTPMethod = "POST" 
request.HTTPBody = postData 
request.setValue(postLength as String, forHTTPHeaderField: "Content-Length") 
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") 
request.setValue("application/json", forHTTPHeaderField: "Accept") 

var reponseError: NSError? 
var response: NSURLResponse? 

var urlData: NSData? 
do { 
    urlData = try NSURLConnection.sendSynchronousRequest(request, returningResponse:&response) 
} catch let error as NSError { 
    reponseError = error 
    urlData = nil 
} 

これは私にこの問題を与える

sendSynchronousRequest(_:returningResponseが:)」のiOS 9.0で廃止されました:使用[NSURLSession dataTaskWithRequest:completionHandler:](どのように私はNSURLSessionで動作するようにこれを実装することができる?

をNSURLSession.h

を見ます

第二の問題は、開放

alertView.delegate = selfが問題である警告メッセージであり、私はalertViewを交換するように、いくつかの異なるものを試してみましたが、それは働いていない、私はalertControllerを試してみました、など何も機能しません:

 if let error = reponseError { 
      alertController.message = (error.localizedDescription) 
     } 

     alertView.delegate = self 
     alertController.addAction(OKAction) 
     self.presentViewController(alertController, animated: true) { } 
    } 
} catch { 
    let alertController:UIAlertController = UIAlertController(title: "Sign up Failed", message: "Server Error", preferredStyle: .Alert) 
    let OKAction = UIAlertAction(title: "OK", style: .Default) { (action) in } 
    alertController.addAction(OKAction) 
    self.presentViewController(alertController, animated: true) { } 
} 

問題がある:未解決の識別子の

使用 'alertView'

これはsignup.VCというSwiftファイルにあります。

+0

@HiDeo投稿を修正していただきありがとうございます。私はスタックオーバーフローも覚えているようです.Lolを使用する方法について –

+0

質問ごとに1つの問題を投稿してください。 – rmaddy

答えて

0

同期要求を使用する代わりに、非同期要求を作成し、完了ハンドラブロックで、現在のcatchブロックの終了後に来るすべてのコードを、要求が完了した後に実行するように配置します。

alertView変数を宣言した場所にコードを含めなかったため、2番目の問題についてはわかりません。