在Swift中编写User对象,尽管我的问题与任何强类型语言有关。用户可以拥有一堆链接(FacebookProfile,InstagramProfile等)。关于这一点的一些问题。
struct User { var firstName: string var lastName: string var email: string var links: Links }
struct Links { var facebook: string var instagram: string var twitter: string }
或者他们应该松散吗?我从技术上讲都知道这两种方法都很好,但是想知道是否有推荐的方法 - 特别是为了便于阅读。
struct User {
var firstName: string
var lastName: string
var email: string
var facebookLink: string
var twitterLink: string
var instagramLink: string
}
在这样的场景中,链接应该是一个集合/列表吗?我认为它不应该是一个列表,因为有可用的固定数量的链接选项,而不是一个增长的数字。我的想法是对的吗?
将我的网络方法放在User对象中是不错的做法,比如getUsers,getUser,updateUser?
我知道这些可能是主观的,但我试图了解围绕类似情况的最佳做法是什么。非常感谢任何指针。
答案 0 :(得分:0)
答案非常主观,取决于struct
User
的调用网站/用途
不要过分担心User
被分隔为Links
。现在将它保持为一个整体结构。如果你认为有必要打破它,你可以看看不同的选择。
如果它是一组固定类型的链接,您甚至可以查看带有关联值的枚举。现在我只是将它们松散地放在URL?
是否会通过解析数据创建User
的实例?如果是这样,我宁愿将它保持为我可以传递的值(结构)。我希望将网络服务分开,以便同时获取/更新一组User
个对象。
User
? (Codable
/用词典初始化)?