当我在视图控制器的viewDidLoad方法中更改我的UILabel文本时,发生了一些非常奇怪的事情。虽然我100%确定标签已连接(我已多次重新连接它以及更改名称),但在尝试更改时仍会出现EXC_BAD_EXCEPTION错误。我的代码如下。
**注意:我还应该提到VC首次初始化时不会发生此错误,但是当我按下一个偏离另一个VC的按钮时。
class BroadwayOrderReview: UIViewController, UITableViewDelegate, UITableViewDataSource, ClassNameDelegate {
@IBOutlet weak var BroadwayOrderReviewTableView: UITableView!
@IBOutlet weak var finalOrderPriceTotalLbl: UILabel!
var OrderDictionary: [String:String] = [:]
func addButtonAction(addedList:[String:Float],numOrders:[String:Int]) {
print(addedList)
print(numOrders)
}
override func awakeFromNib() {
}
override func viewDidLoad() {
super.viewDidLoad()
print("NUM ORDERS \(numOrders)")
self.finalOrderPriceTotalLbl.text = "0.00"
let totalPriceArray = Array(numOrders.keys).sort(<)
for (key) in totalPriceArray {
print("TOTAL PRICE ARRAY \(totalPriceArray)")
self.finalOrderPriceTotalLbl.text = String(Float(self.finalOrderPriceTotalLbl.text!)! + (Float(numOrders[key]!) * addedList[key]!))
print("TOTAL ORDER LBL \(finalOrderPriceTotalLbl.text)")
}
BroadwayOrderReviewTableView.delegate = self
BroadwayOrderReviewTableView.dataSource = self
for (name,orders) in numOrders {
print(name)
OrderDictionary["\(numOrders[name]!) \(name)"] = String(addedList[name]! * Float(numOrders[name]!))
}
print(OrderDictionary)
}
感谢您的帮助,我真的很感激。
答案 0 :(得分:0)
您不应该使用资金来命名tableView。 BroadwayOrderReviewTableView应该是broadwayOrderReviewTableView。你只想使用带有首字母大写字母的class,struct。
您是否尝试从代码和故事板中删除标签? 看起来连接不存在。 根据您分享的内容,它似乎无法访问某个值,因为它尚未初始化。
我开始学习dev的时候并不知道。您实际上可以键入控制台日志。
键入po finalOrderPriceTotalLbl
(用于打印出finalOrderPriceTotalLbl)
您只能在应用程序处于待机状态时使用断点,并且可能会崩溃(我忘了一秒钟)来设置断点,只需单击数字行即可。删除只是拖出来。
如果打印给你零。你知道你的标签连接存在问题。