: Int
や: String
、: DocumentReference!
などは分かるのですが、
structの型指定(?)がよく分かりません。
以下、: Category
はstruntです。
struct Category { var name: String var id: String var imageUrl: String var isActive: Bool = true var timeStamp: Timestamp // 以下省略。
### 1. 変数に型指定をして、何が可能になるかが分からない。
var category : Category!
のように、変数に型指定をして何が可能になるかが分からないです。
### 2.
1を理解すれば、2の理解も進むと思うのですが、
下記コードがよく分かっていません????
destination.selectedCategory = category
AddEditProductsVC
1// selectedCategory 2 var selectedCategory : Category! 3 var productToEdit : Product?
destination.productToEdit = selectedProduct
の意味も、同様に分からない。
(上記の、var productToEdit : Product?
が理解できていない。)
## コード
AdminProductsVC
1override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 2 // ②Segueの識別子確認 3 if segue.identifier == Segues.ToAddEditProduct { 4 // ③遷移先ViewControllerの取得 5 if let destination = segue.destination as? AddEditProductsVC { 6 // ④値の設定 7 destination.selectedCategory = category // <---------- 8 destination.productToEdit = selectedProduct // <---------- 9 } 10 } 11 }
## 追記コード1
AddEditCategoryVC
1var categoryToEdit : Category?
AddEditCategoryVC
1if let category = categoryToEdit { 2 nameTxt.text = category.name 3 addBtn.setTitle("Save Changed", for: .normal) 4 5 if let url = URL(string: category.imageUrl) { 6 categoryImg.kf.setImage(with: url) 7 categoryImg.contentMode = .scaleAspectFill 8 } 9 }
## 追記コード2
import UIKit class AddEditProductsVC: UIViewController { var selectedCategory : Category! var productToEdit : Product? override func viewDidLoad() { super.viewDidLoad() } }
質問は以上です。
お時間あるときに、ご返信頂けましたら幸いです????
回答1件
あなたの回答
tips
プレビュー