Swift: Version 5.1.3
XCode: Version 11.3.1
こんにちは。
appendを使って配列にアイテムを入れても中身がnilになってしまいます。
構造体の定義の仕方に問題があるのかと思って調べていたのですが,答えにたどり着かないので質問させていただきます。
posItemという構造体があり,中身はこのようになっています。
struct posItem { var itemId:String? var itemName:String? var itemImageUrl:String? var videoLink:String? var description:String? var optionGroups: [DrinkOptionGroup]? init? (id: String, name:String, imageUrl: String, videoLink: String, description: String, options: [DrinkOptionGroup]?) { self.itemId = id self.itemName = name self.itemImageUrl = imageUrl self.videoLink = videoLink self.description = description self.optionGroups = options } }
この構造体のインスタンスを作成し,それを戻り値としてリターンする関数を書いたのですが,その関数内で本件の質問内容である問題が起きています。
func convertItem(item: Item) -> posItem { let itemId = item.itemId let itemName = item.itemName let itemImageUrl = item.itemImageUrl let videoLink = item.videoLink let description = item.description var optionGroup:[DrinkOptionGroup]? let options = item.optionGroups if options != nil { for opt in options! { let option = getGroup(nameString: opt) if option != nil { optionGroup?.append(option!) } } } return posItem(id: itemId!, name: itemName!, imageUrl: itemImageUrl!, videoLink: videoLink!, description: description!, options: optionGroup)! }
optionをappendする際に,optionがnilでないことは確認できています。
しかしなが,posItemをリターンしようとした際に, appendしたはずなのにoptionGroupがnilになっています。
どこを直せば,正常に動きますでしょうか。
ご教授お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/18 03:59
退会済みユーザー
2020/04/18 04:02
2020/04/18 04:06
2020/04/18 04:13