由于某种原因,我的变量stringy和stringy可以正常打印到控制台,但是当我尝试将其设置为标签时,它们显示为nil。
我的目标是将字符串和浮点数输出到应用程序视图控制器,但这是行不通的。
我认为它与viewdidload有关,好像它隐藏了全局变量一样。但是,如果我尝试将标签设置在viewdidload之外,则会出现声明错误。
<div class="dropdown-menu dropdown-menu-right"
aria-labelledby="dropdownMenuButton">
<a class="dropdown-item"
*ngIf="gridOptions.editMenu.link1Callback"
(click)="templateCellCallback(gridOptions.editMenu.link1Callback, gridRow)">{{gridOptions.editMenu.link1Label}}</a>
<a class="dropdown-item"
*ngIf="gridOptions.editMenu.link2Callback"
(click)="templateCellCallback(gridOptions.editMenu.link2Callback, gridRow)">{{gridOptions.editMenu.link2Label}}</a>
<a class="dropdown-item"
*ngIf="gridOptions.editMenu.link3Callback"
(click)="templateCellCallback(gridOptions.editMenu.link3Callback, gridRow)">{{gridOptions.editMenu.link3Label}}</a>
</div>
答案 0 :(得分:2)
第一件事是永远不要强行打开包装,直到您确定价值为止。在您的情况下,VNCoreModelRequest可能会失败,并且两个变量都将被取消分配,因此将导致应用程序崩溃。 还有一件事,请确保对标签使用正确的命名约定。
您的问题是您没有根据获得的结果设置标签值。
要解决此问题
var stringy:String? {
didSet {
DispatchQueue.main.async {
self.Labele.text = self.stringy
}
}
}
OR
self.stringy = firstObservastion.identifier
self.stringie = firstObservastion.confidence
DispatchQueue.main.async {
self.Labele.text = "Guess: \(stringy) + Certainty: \(stringie)"
}