Il mio programma viene compilato correttamente, ma quando premo il pulsante, si blocca. Ecco il viewController.swift:EXC_BAD_ACCESS quando si tenta di avviare UIActionSheet in Swift
import UIKit
class ViewController: UIViewController, UIActionSheetDelegate{
@IBOutlet var button:UIButton
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 buttonPressed(AnyObject) {
let choice = UIActionSheet(title: "Select source", delegate: self, cancelButtonTitle: "Cancel", destructiveButtonTitle: nil, otherButtonTitles:"camera", "libary")
choice.showInView(self.view)
}
}
appare l'errore su questa linea:
let choice = UIActionSheet(title: "Select source", delegate: self, cancelButtonTitle: "Cancel", destructiveButtonTitle: nil, otherButtonTitles:"camera", "library")
Ed ecco il testo di errore:
EXC_BAD_ACCESS (codice = 2, indirizzo = 0x0)
Ho provato a passare let a var, l'ho eseguito su diversi simulatori, ma il risultato è lo stesso.
Grazie, funziona! A proposito, ho cambiato "var" in "let" e funziona anche! – Roman
Hmm, actionSheet (myActionSheet: UIActionSheet !, clickedButtonAtIndex buttonIndex: Int) non funziona. Il codice è lo stesso, ma aggiungo queste righe all'implementazione della classe. – Roman
Controllare correttamente i delegati. ha funzionato in questo codice e quindi ho postato solo –