2014-06-06 18 views
5

Quando creo una nuova sottoclasse di UITextView in Xcode 6 Beta, viene fornito automaticamente il seguente codice.Inizializzatore designato di UITextView

import UIKit 

class TerminalView: UITextView { 

    init(frame: CGRect) { 
     super.init(frame: frame) 
     // Initialization code 
    } 
} 

Il codice precedente (fornito completamente da Xcode senza nulla rimosso) restituisce il seguente errore.

Must call a designated initializer of the superclass 'UITextView'

Per quanto ne so, il designato per tutte le sottoclassi di UIView è -initWithFrame: (o in Swift, init(frame:). Se questo è il caso, Perché il codice fornito da frutto Xcode in un errore? ho aggiunto nessuna nuova variabili di istanza alla classe, quindi niente altro deve essere ancora inizializzato

+1

Bug inoltrato. # 17472321 per chiunque volesse controllare lo stato. – swiftYeti

+1

non è ancora stato risolto – nwales

risposta

7

sembra come se l'unico inizializzatore che funziona per ora è:.

super.init(frame: CGRect, textContainer: NSTextContainer?) 

che può essere chiamato con

super.init(frame: CGRect.zero, textContainer: nil) 

Questo è probabilmente un bug nella versione iniziale beta e sarà fissato nelle prossime versioni beta.

+1

Non dimenticare di [segnalarlo] (http://bugreport.apple.com). –

Problemi correlati