2016-11-03 21 views
1

私は、ユーザーがアプリケーションを操作するのに役立つ3つの指示画像を追加したウォークスルー画面を開発しています。この問題は、アプリを最初に起動したときに、「指示書」が付いたラベルだけが表示されますが、このラベルの下にもユーザーはイメージを表示する必要があります。たぶん私は何か間違ったことをやっている、私はエラーの画像アップロードされた添付: enter image description hereUIImageを開いたときに予期せずnilが見つかりました

をそしてここで私はTutorialPageContentHolderViewControllerにこれらの画像を転送するために使用したコードの画像をアップロード:私は非常に感謝するでしょう enter image description here をあなたが私のミスを見たら、私は一日中そのことに苦労していたからです。

+1

http://stackoverflow.com/questions/32170456/what-does-fatal-error-unexpectedly-found-nil-while-unwrapping-an-optional-valu – Moritz

+0

可能な値があるかどうかを確認できますかあなたは 'pageImages [index]を!文字列 '? – fiks

+0

いいえ私はそれを持っていない、どこに追加する必要がありますか? – Dakata

答えて

1

私はあなたがそれをviewdidLoadがその前にロードされるように、それは遅すぎるかもしれない第二のスクリーンショットに値を代入するときは、

myImageView.image = UIImage(named: imageFileName) 

でそれを使用するときに、あなたの最初の画像でimageFileName変数がnilあると思います。これを使用する前に手動で有効な値をimageFileNameに割り当てて、それが機能するかどうかを確認することで、これが正しいかどうかを確認できます。

簡単な方法は、初期化子をビューコントローラクラスに追加し、パラメータとしてファイル名を渡して、viewDidLoadで使用するまでファイル名をローカル変数に格納することです。

func prepare(with filename:String) { 
    myImageView.image = UIImage(named: filename) 
} 

とメインビューコントローラ内pageTutorialAtIndexメソッドから呼び出し:

第二の方法は、以下のようにページビューコントローラにメソッドを追加(およびviewDidLoadから対応する行を削除)することであろう。

+0

あなたは正しいです、それを修正する方法は? – Dakata

+0

私の答えでこれを修正する方法のヒントをいくつか追加しました。 –

+0

@Dakata:あなたの問題を解決するのに役立ちましたら、答えを受け入れることを忘れないでください –

関連する問題