質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

0回答

599閲覧

UIviewやUILabelに値を入れようとするとnilが発生する

YutaMatsuura715

総合スコア2

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2021/05/30 12:39

編集2021/05/30 12:41

やりたいこと。
遷移先のviewControllerのフィールド変数に値をセットする。

遷移もとのrableviewのcellをタップするcellの情報からuser情報を遷移先のプロパティにセットして
各々のフィールド変数へデータを挿入するコードです。
該当のコード

swift

1//遷移元 2func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 3 4 let user = users[indexPath.row] 5 self.selectedUser = user 6 7 let storyboard = UIStoryboard(name: "UserInfo", bundle: nil) 8 let viewController = storyboard.instantiateViewController(identifier: "UserInfoViewController") as! UserInfoViewController 9 viewController.user = user 10 navigationController?.pushViewController(viewController, animated: true) 11}

swift

1//遷移先 2import UIKit 3import Nuke 4class UserInfoViewController: UIViewController { 5 6 var user:User? { 7 didSet { 8 if let user = user { 9 guard let url = URL(string: user.profileImageUrl) else { return } 10 Nuke.loadImage(with: url, into: ①userImageView①) 11 ②userNameLabel②.text = user.username 12 } 13 } 14 } 15 @IBOutlet weak var userImageView: UIImageView! 16 @IBOutlet weak var userNameLabel: UILabel! 17 18 override func viewDidLoad() { 19 super.viewDidLoad() 20 } 21} 22

こので実行してセルをタップするとエラーが発生します。
内容としては、
①にエラーが発生して
Unexpectedly found nil while implicitly unwrapping an Optional value

というエラーが発生します。

行ったこととしては、
1:アウトレット接続の確認
2:画像の読み込み方法にエラーがあるのかと思い,didset内をuserNameLabel.text = user.usernameのみ残すと次は②で同じエラーが発生しました。

現在色々調べていますがもし原因がわかる方がいらっしゃったらよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/05/30 18:49

UserInfoViewController を生成した直後はまだ view が存在しないので、userImageView や userNameLabel の表示の変更は viewDidLoad などでやると良いでしょう。
YutaMatsuura715

2021/06/01 09:59

おっしゃる通りでした。ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問