-1
私の問題の正確な解決策が見つかりませんでした。あるView Controllerから別のView Controllerにデータを渡す必要があります。問題は、セグの後、渡された文字列データがラベルに表示されないことです。ビューコントローラから別のビューコントローラにデータを渡す
func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject) {
if (segue.identifier == "segue1") {
if let destination = segue.destination as? ResultsViewController {
destination.name = correctslabel.text!
二コントローラ:渡されたデータを表示しない、単なる変数と「名」とUIlabel
があります。
import UIKit
class ResultsViewController: UIViewController {
@IBOutlet var namelabel: UILabel!
var name = ""
override func viewDidLoad() {
super.viewDidLoad()
name = namelabel.text!
}
}
私はそれを行うために多くの方法を試しましたが、いずれも機能しませんでした。ありがとうございました
最終的には、私はAnybodyからAnyに送信者を変更しなければならないことを意味するオーバーライドfuncを行うために働いた。
エラーを表示します。オプションのタイプの値 "string"がアンラップされていません。 –
@TobyV。投稿されたコードでは、このように 'var name =" "'という名前のvarを宣言します。つまり、展開するものはありません。既にオプションではありません。宣言を 'var name:String? 'のようなものに変更したことは可能でしょうか? = "" '? –
私はそこにnamelabel.text = nameを使用し、namelabel.textはオプションであるため、問題かもしれません。万が一、オプションではないことを知っていますか?ありがとうございました –