利用检索到的对象的属性来填充数组和后续标签的最佳方法?
Best way to utilize retrieved object's properties to populate arrays and subsequent labels?
我有一个数据库(解析服务器),我可以从中获取包含信息的对象。对象属性中的一些信息用于填充 table 视图上的标签。我填充的方式,比方说,userName 和 userLike 标签如下:
使用对象属性附加不同的数组
var userName = [String]()
var userLikes = [String]()
func query(){
let commentsQuery = PFQuery(className: "UserStuff")
commentsQuery.findObjectsInBackground { (objectss, error) in
if let objects = objectss{
for object in objects{
self.userName.append(object["userName"] as! String)
self.userLikes.append(object["userLikes"] as! String)
}
}
}
}
忽略我没有 .whereKey
或任何 else
语句来处理其他情况的事实......这只是为了说明问题的简单框架。总之,在这个方法中,userName
和 userLikes
数组被迭代以填充标签。 for object in objectss{}
确保一个数组中的索引(无论是索引 0、1、2、3 等...)从与另一个数组的索引中的值相同的对象引用 to/comes。但是,我想知道是否会更好地按照以下方式进行:
将整个对象附加到 PFObject 数组
var userObjects = [PFObject]()
func query(){
let commentsQuery = PFQuery(className: "UserStuff")
commentsQuery.findObjectsInBackground { (objectss, error) in
if let objects = objectss{
for object in objects{
self.userName.append(object)
}
}
}
}
使用这种方法,我可以使用类似以下内容填充标签:
userNameLabel.text = String((userObjects[0])["userName"])
在这个方法中,对象的所有属性都可以从同一个数组访问。我可以看出这可能有一些优势,但这是 明确地 更好的方法吗 it/should 我立即切换?
我要说的是,答案是两者中的后者可能是更好的方法。这是因为在前者中,来自特定对象的信息仅按数组中的顺序在数组之间链接。任何涉及 .append
或 .remove
的意外或不正确的脚本函数都可能扭曲数组之间的顺序,然后对象的名称可能是 nameArray
中的第三个索引,但它的喜欢可能最终成为第四个likesArray
中的索引,很难修改此问题。使用后一种方法,有关对象属性的所有信息都链接到数组中的对象本身,从而避免了这个问题。
我有一个数据库(解析服务器),我可以从中获取包含信息的对象。对象属性中的一些信息用于填充 table 视图上的标签。我填充的方式,比方说,userName 和 userLike 标签如下:
使用对象属性附加不同的数组
var userName = [String]()
var userLikes = [String]()
func query(){
let commentsQuery = PFQuery(className: "UserStuff")
commentsQuery.findObjectsInBackground { (objectss, error) in
if let objects = objectss{
for object in objects{
self.userName.append(object["userName"] as! String)
self.userLikes.append(object["userLikes"] as! String)
}
}
}
}
忽略我没有 .whereKey
或任何 else
语句来处理其他情况的事实......这只是为了说明问题的简单框架。总之,在这个方法中,userName
和 userLikes
数组被迭代以填充标签。 for object in objectss{}
确保一个数组中的索引(无论是索引 0、1、2、3 等...)从与另一个数组的索引中的值相同的对象引用 to/comes。但是,我想知道是否会更好地按照以下方式进行:
将整个对象附加到 PFObject 数组
var userObjects = [PFObject]()
func query(){
let commentsQuery = PFQuery(className: "UserStuff")
commentsQuery.findObjectsInBackground { (objectss, error) in
if let objects = objectss{
for object in objects{
self.userName.append(object)
}
}
}
}
使用这种方法,我可以使用类似以下内容填充标签:
userNameLabel.text = String((userObjects[0])["userName"])
在这个方法中,对象的所有属性都可以从同一个数组访问。我可以看出这可能有一些优势,但这是 明确地 更好的方法吗 it/should 我立即切换?
我要说的是,答案是两者中的后者可能是更好的方法。这是因为在前者中,来自特定对象的信息仅按数组中的顺序在数组之间链接。任何涉及 .append
或 .remove
的意外或不正确的脚本函数都可能扭曲数组之间的顺序,然后对象的名称可能是 nameArray
中的第三个索引,但它的喜欢可能最终成为第四个likesArray
中的索引,很难修改此问题。使用后一种方法,有关对象属性的所有信息都链接到数组中的对象本身,从而避免了这个问题。