use & save roundMini / roundNano

This commit is contained in:
nixzhu
2015-08-26 12:19:41 +08:00
parent c0cb73152a
commit b10db49ea6
+45
View File
@@ -167,6 +167,27 @@ class AvatarCache {
dispatch_async(dispatch_get_main_queue()) {
avatarCompletion.completion(avatar)
}
let realm = Realm()
if let avatarObject = avatarWithAvatarURLString(avatarURLString, inRealm: realm) {
switch avatarCompletion.radius {
case YepConfig.ConversationCell.avatarSize * 0.5:
if avatarObject.roundMini.length == 0 {
realm.write {
avatarObject.roundMini = UIImageJPEGRepresentation(avatar, 0.9)
}
}
case YepConfig.chatCellAvatarSize() * 0.5:
if avatarObject.roundNano.length == 0 {
realm.write {
avatarObject.roundNano = UIImageJPEGRepresentation(avatar, 0.9)
}
}
default:
break
}
}
}
}
@@ -314,6 +335,30 @@ class AvatarCache {
} else {
//
if let avatar = avatarWithAvatarURLString(avatarURLString, inRealm: Realm()) {
switch radius {
case YepConfig.ConversationCell.avatarSize * 0.5:
if avatar.roundMini.length > 0 {
if let image = UIImage(data: avatar.roundMini) {
completeWithImage(image, avatarURLString: avatarURLString)
return
}
}
case YepConfig.chatCellAvatarSize() * 0.5:
if avatar.roundNano.length > 0 {
if let image = UIImage(data: avatar.roundNano) {
completeWithImage(image, avatarURLString: avatarURLString)
return
}
}
default:
break
}
}
let oldAvatarURLString = user.avatar?.avatarURLString
dispatch_async(self.cacheQueue) {