2016-04-27 3 views
0

Я новичок на Swift и пытается привыкнуть к ...Ожидаемый идентификатор в функции декларации в Swift

Я пытаюсь простой метод инициализации на мой пользовательский класс UIButton.

Но он говорит Ожидаемый идентификатор в функции декларации

Мой метод, как показано ниже,

override func init(frame: CGRect) {  
} 

Я искал кучу ответов на эту ошибку, но не смог добиться успеха.

Что не так с этим?

Спасибо,

BR

ответ

2

Оставить из func:

override init(frame: CGRect) { 
    // ... 
} 
+0

я также попробовал, он затем говорит требуется инициализации (кодировщик aDecoder: NSCoder)? { FatalError ("INIT (кодировщик :) не был реализован") } – erdemgc

+0

Да, и это означает (сюрприз!), что вы также должны реализовать этот инициализатор. :) –

1

Во-первых, вы не можете писать init с Func ключевого слова. Вам нужно написать так:

class myButton: UIButton { 

    override init(frame: CGRect) { 
    super.init(frame: frame) 
    } 

    required init?(coder aDecoder: NSCoder) { 
    fatalError("init(coder:) has not been implemented") 
    } 
} 

согласно

Каждый UIView подкласс Apple, Дока, который реализует инициализатор должен включать в себя реализацию init?(coder:). Компилятор Swift знает об этом и предлагает исправление, чтобы внести это изменение в ваш код. Fix-its предоставляется компилятором как потенциальное решение ошибок в вашем коде.

you can follow this link

Смежные вопросы