-2
User
のインスタンスを含む以下のようなArray
がある場合。最適化アプローチを使用してモデルの配列の要素を置き換える方法は?
class User {
var id: String
var name: String
init(id: String, name: String) {
self.id = id
self.name = name
}
}
今が1から5までのIDを有する5つのユーザーモデルがあり、(名前が何であるかに関係なく)、以下のようにアレイに格納されている場合
var userModels = [user1,user2,user3,user4,user5]
すぐインスタンスIがあるとID 1
let latestUser = User(id: "1", name: "Updated Name") //id 1 is already there but this is the updated model
を使って手動で作成しています、私はTHIのようにインスタンスを置き換えることができるようにfilter
せずに、インデックス1であるユーザモデルのインデックスを検索するどのような方法がありますs
配列の拡張子などを使用しています。index(of:)
のプロパティIDの制約はありますか?このよう
let indexOfUser1 = userModels.index(of: latestUser) // It should return 1.
userModels[indexOfUser1] = latestUser //Replacing the user with id 1 with the latest one
(私たちはsubscript
がそうであるように)
extension Array where Element: User {
//TODO: indexOf constraint for specific property
}
あなたは*」とはどういう意味ですかをtのインデックスを見つける彼のインデックスは1 * "のユーザーモデルですか?あなたは「idが1であるユーザモデルのインデックスを見つける」という意味ですか? – Hamish
私は、user1をlatestUserに置き換えて、最適化されたアプローチにしたいと思っています。 –