iOS/Swiftの新機能です。私はprepareForSegue
内を持ってUILabel.textからnil Swift 3が返されます
:私はスウィフト2からスウィフト3に(単にのNSDataのinit()メソッドを介したURLからコンテンツをフェッチする)プロジェクトを移行しようとしていると私は、問題のカップルに実行していますViewController。セグ自体はうまく動作しますが、元のコントローラーから
UILabel
のテキストを引き出して宛先コントローラーに送信することはできません。なんらかの理由で、宛先VCUIlabel
には依然としてデフォルト値が表示されます。 セグエコード:if let identifier = segue.identifier{ if identifier == "showUserDetailSegue"{ if let detailsViewController = segue.destination as? DetailsViewController, let cell = sender as? UserInfoTableViewCell, let text = cell.textLabel?.text{ detailsViewController.text = text } } }
detailsViewController.text
didSet
プロパティを使用してプロパティpublic varです。
DestinationVCコード:
var text: String?{
didSet{
updateUI()
}
}
private func updateUI(){
self.detailsTextView.text = text
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBOutlet weak var detailsTextView: UILabel!
2.One私GET
リクエストURLのは、間にスペースをいくつか持っています。たとえば、http://www.omdbapi.com/?t=Game%20of%20Thrones&Season=1
のようなサンプルURLを取得した場合、この非同期呼び出しは「URLが無効です」というエラーで失敗し続けます。これについて何らかのエンコーディングを実行するはずですか?
ヒント、ヒントは非常に高く評価されています。
ありがとうございました。
ラベルのテキストを変更するためのコードはありますか? – luk2302
はい、どうすればいいですか?質問をdestinationVC – user2511882
で更新します。デバッグ文を追加します。 – luk2302