我在User.swift文件中有结构:
struct User {
let name : String
let image: UIImage
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我做:
for user in OneRoster.buddyList.fetchedObjects! {
let userJID = OneRoster.userFromRosterForJID(jid: user.jidStr)
var avatarImage: UIImage?
let photoData = OneChat.sharedInstance.xmppvCardAvatarModule?.photoDataForJID(userJID?.jid)
self.users = [User(name: user.displayName, image: UIImage(data: photoData!)!)
}
Run Code Online (Sandbox Code Playgroud)
所以我运行一个循环,当我打印元素(用户)时,它会打印所有用户,但是当我尝试:
self.users = [User(name: user.displayName, image: UIImage(data: photoData!)!)
Run Code Online (Sandbox Code Playgroud)
它增加了我var users = [User]()的唯一,最后一个用户并忽略了第一个.因此,当我打印时,print(users)它只打印最后一个用户.
我不明白为什么?我该如何修复它,所有用户都会附加到我的数组中?
使用
self.users.append(User(name: user.displayName, image: UIImage(data: photoData!)!)
Run Code Online (Sandbox Code Playgroud)
代替
self.users = [User(name: user.displayName, image: UIImage(data: photoData!)!)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |