私は可能な限りシナリオを説明しようとします。モデルのデータにアクセスするにはどうすればよいのですか? viewControllerDでモデルのインスタンスを作成すると、データなしで新しいインスタンスが作成されます。SwiftのmultipleviewControllerのデータにアクセスするには?
以下のコードはシナリオを説明しています。
ViewControllerA
userdetailsの=のUserDetails(JSON!:self.userDetailsList)してみましょう:NSObjectの{
userdetailsarray.append(userdetails)はグローバル配列
//モデル クラスUserDetailsを//
var name : String?
var profession : String?
var id: String?
init(json: NSDictionary) {
let name = json["name"] as? String
let profession = json["profession"] as? String
let id = json["id"] as? String
self.name = name
self.profession = profession
self.id = id
super.init()
}
} 解決策わかりました:グローバル変数の作成
するvar userdetailsarray = [UserDetails]
この配列にUserDetails(モデル)を追加し、複数viewControllers横切ってこの配列を使用して。別の解決策は、モデルクラスがシングルトンであることです。 私はより楽観的な解決策を探しています。ありがとう
私はこの質問が多くの異なる方法で返答できると思います...私は依存性注入を好むでしょうが、他にもたくさんの方法があります。 –
@Luca D'Alberti依存性注入を使用してこれをどのように達成できるかを知ることは役に立ちます。 – Rio
ViewControllerDを初期化するか、ユーザーに沿って渡すか... – SeanLintern88