Я хочу нажать кнопку в ViewController и запустить простую функцию в пользовательском классе. Никаких параметров не требуется. Код в основном:ios 8 и Swift: вызов функции в другом классе из контроллера вида
class MyClass: UIView {
//init function is here
//other setup stuff
...
func SetFocus() {
//I want to set the camera focus to infinity.
var error: NSErrorPointer = nil
var pos: CFloat = 1.0
captureDevice!.lockForConfiguration(error)
captureDevice!.setFocusModeLockedWithLensPosition(pos, completionHandler: nil)
captureDevice!.unlockForConfiguration()
}
}
and in ViewController
import UIKit
class ViewController: UIViewController {
@IBOutlet var myClass: MyClass!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func myButton(sender: UIButton) {
myClass.SetFocus()
}
}
Я пробовал все, что я могу думать (новые в Swift) и приложение либо аварии или функция Я звоню не работает. Все остальное в MyClass работает нормально.
А где установлен 'myClass'? Он существует, когда вы называете 'MyFunction'? – Larme
Если это «IBOutlet», вы подключили его к раскадровке? – aforaudrey
Можем ли мы видеть конкретный код в myFunction() – JustAnotherCoder