PFFile? не конвертируется в StringLiteralConvertible. AnyObject не конвертируется в String.
Я только что обновил:
xcodeVersion 6.3 (6D570)
Вчера вечером Swift 1.2 испортил мое слово, и, очевидно, они внесли некоторые изменения в Swift или Parse.
Я запутался, я просто не знаю, как решить эту проблему... Нужна помощь, пожалуйста. Если кто-то испытал то же самое и исправил это, пожалуйста, помогите мне.
import UIKit
import Parse
class ProfileViewController: UIViewController, UITextFieldDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
// MARK: Variables declaration
@IBOutlet weak var uploadPhotoBtn: UIButton!
@IBOutlet weak var profilePhotoImageView: UIImageView!
@IBOutlet var welcomeMessageLabel: UIView!
@IBOutlet weak var greetings: UILabel!
var imagePicker = UIImagePickerController()
var existingImage : UIImage?
var user = PFUser.currentUser()
// The view has loaded this is the function that will be run at first before anything else
override func viewDidLoad() {
super.viewDidLoad()
// MARK: make a circle image
profilePhotoImageView.layer.cornerRadius = profilePhotoImageView.frame.size.width/2
profilePhotoImageView.clipsToBounds = true
//show my status
var mood = self.user["status"] as! String //=> 'AnyObject' is not convertible to 'String'
self.greetings.text? = ( "\(mood)" )
//get image if existing
self.user[ "avatar" ] as? PFFile //=> 'PFFile? is not convertible to 'StringLiteralConvertible'
if let userImageFile = self.user["avatar"] as? PFFile {PFFile? is not convertible to 'StringLiteralConvertible'
userImageFile.getDataInBackgroundWithBlock({ (imageData:NSData!, error: NSError!) -> Void in
if error == nil {
self.existingImage = UIImage(data: imageData)
self.profilePhotoImageView.image = self.existingImage
}else {
let alert = UIAlertView(title: "Oops!", message: "Unable to get your profile photo", delegate: self, cancelButtonTitle: "Ok!")
alert.show()
}
})
}
2 ответа
PFUser.CurrentUser возвращает необязательное значение, если вы уверены, что ваш пользователь авторизован и создал PFSession, попробуйте следующее:
var user = PFUser.currentUser ()!
дайте мне знать, если это не решит проблему.
Методом проб и ошибок.. у меня это сработало Parse 1.7.1 и Swift 1.2
переопределить функцию tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, объект: PFObject?) -> PFTableViewCell?
объект?["bax"] как? Строковый объект? ["Abc"] как! PFFile? -> Но мое изображение не отображается сейчас... все еще пытаюсь решить его.