Sto provando a creare una sottoclasse di UIView in Swift.Ignora init() in un'app di arresto anomalo di CustomUIView (EXC_BAD ACCESS)
Ad ogni modo l'applicazione si blocca (EXC_BAD_ACCESS) quando l'inizializzazione è chiamato
Ecco la classe
class CustomActionSheet: UIView {
private var cancelButtonTitle: String!;
private var destructiveButtonTitle: String!;
private var otherButtonTitles: [String]!;
convenience init() {
self.init();//EXC_BAD_ACCESS
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder);
}
convenience init(cancelButtonTitle: String!, destructiveButtonTitle: String!, otherButtonTitles: [String]!) {
self.init();
self.cancelButtonTitle = cancelButtonTitle;
self.destructiveButtonTitle = destructiveButtonTitle;
self.otherButtonTitles = otherButtonTitles;
prepareUI();
}
func prepareUI() {
//BLABLABLABLABLA
}
}
Ecco come lo chiamo io
var actionSheet: CustomActionSheet = CustomActionSheet(cancelButtonTitle: "Cancel", destructiveButtonTitle: "OK", otherButtonTitles: nil);
Tried sostituire self.init() con super.init() ma non co mpile.
messaggio di errore:
devono chiamare un inizializzatore designato della superclasse 'UIView'
Convenienza inizializzatore per 'CustomActionSheet' deve delegare (con 'self.init') piuttosto che al concatenamento inizializzatore di una superclasse (con 'super.init')
Intendevi mettere super.init() nel posto con l'errore? – spektr
super.init() non compilerà nemmeno @choward. Ho aggiornato la mia domanda. – JayVDiyk