在标签中显示名称(swift)
Posted
技术标签:
【中文标题】在标签中显示名称(swift)【英文标题】:Display name in label (swift) 【发布时间】:2020-02-26 12:41:41 【问题描述】:我尝试在标签“scoreForEachRoundTeams”中设置玩家名称。但是当我尝试这样做时,我收到错误消息:"Value of type '[Player]?'没有成员“姓名””
var finalScoreEachRound : [Player]? // Here I call after my "Player" class
@IBOutlet weak var scoreForEachRoundTeams: UILabel!
var competitions : [Comepetitions]?
let scoreForEachRoundCell = "scoreForEachRoundCell"
override func viewDidLoad()
super.viewDidLoad()
print(Player.self)
scoreForEachRoundTeams.text = finalScoreEachRound.name //Here I try show my Player name
这是我的 Player 类
var name : String?
var score : Int
var scoreForEachRound: [Int] = []
public var description: String return "\(String(describing: name)) : \(score)"
init(name: String?, score: Int)
self.name=name
self.score=score
static func < (lhs: Player, rhs: Player) -> Bool
return lhs.score > rhs.score
static func == (lhs: Player, rhs: Player) -> Bool
return lhs.name == rhs.name && lhs.score == rhs.score
func totalScore() -> Int
var totalScore = 0
for score in scoreForEachRound
totalScore += score
return totalScore
【问题讨论】:
【参考方案1】:finalScoreEachRound
是一个数组,而不是您需要的单个属性
scoreForEachRoundTeams.text = finalScoreEachRound?.first?.name ?? "No init"
所有人
scoreForEachRoundTeams.text = finalScoreEachRound!.compactMap $0.name .joined(separator:"---")
【讨论】:
它起作用了,但只有数组中的第一个名字。 如果我这样做,它会打印所有名称。但我想在我的标签上打印一个名字。对不起我的困惑。scoreForEachRoundTeams
一次只能保存 1 个文本,但是您将数组设置为一个项目或全部设置为答案,我不知道您在寻呼机中的哪个位置显示该 vc ??? ?
首先我有我的 VC 和名称的 tableView。当我按下一个名称时,会打开一个弹出窗口。在那个弹出窗口中,我想在我按下的单元格之后显示名称。
实现表委托方法didSelectRowAt
,只发送1个项目items[indexPath.row]
以上是关于在标签中显示名称(swift)的主要内容,如果未能解决你的问题,请参考以下文章