1
Help us understand the problem. What are the problem?

posted at

ID を持つエンティティにはIdentifiableを積極的に採用

before

struct User: Decodable { 
  let id: Int
}

struct UserDataSource {
  // 引数はIntであればなんでも受け入れるように見えてしまう。 
  func loadUser(for id: Int) -> User {
  // 本来はDBなどから取得したものを返すなど
   } 
}
let user = UserDataSource().loadUser(for: 1)

after

struct User: Decodable , Identifiable { 
  let id: Int
}

struct UserDataSource {
   func loadUser(for id: User.ID) -> User {
          // DBなどから取得したものを返すなど
   } 
}
 

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
1
Help us understand the problem. What are the problem?