Swift ui类型为'的标签值;字符串';没有成员';文本';(静态自定义单元格)

Swift ui类型为'的标签值;字符串';没有成员';文本';(静态自定义单元格),swift,uilabel,xcode8,tablecell,Swift,Uilabel,Xcode8,Tablecell,我从json获取用户信息,但当我将值分配给标签时,它显示错误(类型为'String'的值没有成员'text') 是否因为自定义静态表格单元格?如何修复它?我的基础不好…… 以及: 使用不同的变量名。最好使用唯一的变量名 由于变量名与变量值相同,因此会出现错误 UILabel具有名称empnamelab:UILabel(在viewDidLoad中)和值也具有相同的名称 改变 let empNameLabel = user!["crew_name"] as? String //conflictin

我从json获取用户信息,但当我将值分配给标签时,它显示错误
(类型为'String'的值没有成员'text')

是否因为自定义静态表格单元格?如何修复它?我的基础不好……
以及:


使用不同的变量名。最好使用唯一的变量名

由于变量名与变量值相同,因此会出现错误

UILabel具有名称
empnamelab:UILabel
(在
viewDidLoad
中)和值也具有相同的名称

改变

let empNameLabel = user!["crew_name"] as? String //conflicting name with UILabel iboutlet

此外,您不应强制使用展开选项(
user

应该是

var empNameValue = ""
if let unwrappedUser = user {
    if let empNameValue = unwrappedUser["crew_name"] as? String {
        empNameLabel.text = empNameValue //assign value to UILabel
    }
}
您正试图从“字符串”中获取“.text”值,这是不可能的。 或者使用self:

self.empnameLabel.text = empnameLabel
或为字符串常量指定不同的名称:

self.empnameLabel.text = str
或者直接将该值存储到标签:

self.empnameLabel.text = user[crewname]! as! String

这就是当您为outlet和变量指定相同名称时发生的情况

变量empnamelab没有名为text的属性

text是empnamelab outlet的属性。 更改变量名。如 让empName=user![“船员姓名”]作为?字符串

  • 更改标签变量名
  • 将newLabelVariable.text设置为empNameLabel

您需要打开字符串,它应该与您声明的名称和常量名称相同。更改名称并尝试在标签名称前添加self。与self.empnamelab.text一样,您不应该对标签使用与字符串值相同的标识符…更简单的版本:如果让empnamelvalue=user?[“crew_name”]as?字符串{empnamelab.text=empNameValue}
self.empnameLabel.text = user[crewname]! as! String