我收到一条错误,说“EXC_BAD_INSTRUCTION ...”,指的是尝试使用redSlider.value从另一个文件为我的“Color”类型的属性设置一个值。(也粘贴在下面)
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBOutlet weak var colorView: UIView!
@IBOutlet weak var redSlider: UISlider!
@IBOutlet weak var greenSlider: UISlider!
@IBOutlet weak var blueSlider: UISlider!
func updateCurrentColor() {
var currentColor = Color(red: redSlider.value, green: greenSlider.value, blue: blueSlider.value)
print("CurrentColor updated!!!")
}
}
这是我的“颜色”类型(在另一个文件中):
import Foundation
struct Color {
var red = Float()
var green = Float()
var blue = Float()
}
我从main.swift
调用updateCurrentColor()import Foundation
import UIKit
ViewController().updateCurrentColor()
答案 0 :(得分:0)
ViewController()
创建一个新的视图控制器对象。由于您没有在屏幕上显示它,因此它的插座永远不会被初始化。这意味着!
末尾的redSlider: UISlider!
是谎言。
即使它没有崩溃,更新你没有放在屏幕上的东西的颜色听起来也不是很有用。
使用您已有的ViewController
而不是创建新的。{/ p>