首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在init Swift中的IF语句之外获取变量

如何在init Swift中的IF语句之外获取变量
EN

Stack Overflow用户
提问于 2018-10-30 05:47:23
回答 1查看 70关注 0票数 0

如果我在If语句中设置了变量,当我试图访问init外部的变量时,我得到了错误“实例成员'friendcomparison‘不能用于类型'User'”。任何帮助都将不胜感激,谢谢。

代码语言:javascript
复制
let friendcomparison: String

func getfriendname() {
    if frienddeeper == Auth.auth().currentUser?.uid {
        let friendcomparison = "yes"
    }
    let link = URL.init(string: credentials["profilePicLink"]!)
    URLSession.shared.dataTask(with: link!, completionHandler: { (data, response, error) in
        if error == nil {
            let profilePic = UIImage.init(data: data!)
            let user = User.init(name: name, username: username, email: email, id: id, friendstatus: friendcomparison, token: token!, profilePic: profilePic!)
            completion(user)
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2018-10-30 06:06:21

代码语言:javascript
复制
    func getfriendname() {
        if frienddeeper == Auth.auth().currentUser?.uid {
                           friendcomparison = "yes"
                        }
                        let link = URL.init(string: credentials["profilePicLink"]!)
                        URLSession.shared.dataTask(with: link!, completionHandler: { [weak self] (data, response, error) in
                            if error == nil {
                                let profilePic = UIImage.init(data: data!)
let friendcomparison = self?.friendcomparison
                                let user = User.init(name: name, username: username, email: email, id: id, friendstatus: friendcomparison, token: token!, profilePic: profilePic!)
                                completion(user)
                            }
    }

只需从let friendcomparison = "yes"中删除let

并在let friendcomparison = self?.friendcomparison中使用[weak self]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53054329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档