Swift 加载用户映像

Swift 加载用户映像,swift,parse-platform,uiimageview,Swift,Parse Platform,Uiimageview,我使用此代码在用户搜索其他用户时加载用户用户名 var user: PFUser? { didSet { userNameLabel.text = user?.username } } 除了个人资料图片,我如何做同样的事情?以下是您可以做的 案例1 如果需要下载图像并显示,则- 创建保存图像url的属性 异步下载图像并显示 所以代码看起来是这样的 var pictureURL: NSURL? var user: PFUser

我使用此代码在用户搜索其他用户时加载用户用户名

var user: PFUser? {

        didSet {
            userNameLabel.text = user?.username
        }

    }

除了个人资料图片,我如何做同样的事情?

以下是您可以做的

案例1

如果需要下载图像并显示,则-

  • 创建保存图像url的属性
  • 异步下载图像并显示
  • 所以代码看起来是这样的

    var pictureURL: NSURL? 
    var user: PFUser? {
    
            didSet {
                userNameLabel.text = user?.username
                pictureURL = user?.pictureURL
                displayPicture()
            }
    
        }
    
        private func displayPicture() {
        // Async download pic and display
        }
    
    案例2 如果您有本地图像,则只需显示-

    var user: PFUser? {
    
            didSet {
                userNameLabel.text = user?.username
                userImage.image = UIImage(named: "Picturename")
            }
    
        } 
    

    无法在Parse.com上使用
    UIImage
    格式保存图像文件。您可以使用
    PFFile
    存储文件,您必须将图像转换为
    PFFile
    ,以便保存和获取图像

    您可以使用此功能保存图像

     private func saveLogo() {
        let yourLogoImageFile = UIImage(named: "YourLogoFileName")
        if let imageData = UIImageJPEGRepresentation(yourLogoImageFile!, 0.1) {
            // You got the PFFile you can use this for save.
            let imagePFFile = PFFile(name: "logo.png", data: imageData)
            logo = imagePFFile // Send this PFFile to your variable or just save.
            // Saving...
            imagePFFile?.saveInBackground()
        }
    }
    
        private func getLogo() {
        if let image = yourLogoVariable {
            image.getDataInBackgroundWithBlock() {
                (let imageData, error) in
                if error == nil {
                    if let logoImageData = imageData {
                        if let logoImage = UIImage(data: logoImageData) {
                            // logoImage is the UIImage you can use this for your UIImageView.
                        }
                    }
                }
            }
        }
    }
    
    之后,您可以从Parse中获取徽标
    PFFile
    ,并使用此功能将其转换为
    UIImage

     private func saveLogo() {
        let yourLogoImageFile = UIImage(named: "YourLogoFileName")
        if let imageData = UIImageJPEGRepresentation(yourLogoImageFile!, 0.1) {
            // You got the PFFile you can use this for save.
            let imagePFFile = PFFile(name: "logo.png", data: imageData)
            logo = imagePFFile // Send this PFFile to your variable or just save.
            // Saving...
            imagePFFile?.saveInBackground()
        }
    }
    
        private func getLogo() {
        if let image = yourLogoVariable {
            image.getDataInBackgroundWithBlock() {
                (let imageData, error) in
                if error == nil {
                    if let logoImageData = imageData {
                        if let logoImage = UIImage(data: logoImageData) {
                            // logoImage is the UIImage you can use this for your UIImageView.
                        }
                    }
                }
            }
        }
    }
    

    你试过搜索其他问题吗?您好@Anupam我的用户图像存储在ParseHi@emresancaktar中,谢谢您的回答。但我不想只拍一张照片。我正在尝试获取所有用户的个人资料图片。例如:当一个人搜索另一个用户时,我希望他们也能看到用户档案图片,而不仅仅是用户名。这段代码可以完美地显示所有用户名:var user:PFUser?{didSet{usernamelab.text=user?.username}}我不建议将JPEG的质量设置为
    0.1
    。。。这将开始有很多工件-
    0.6
    0.7
    会更好