2015-01-13 2 views
-2

У меня есть пользовательский класс UIButton, который я пытаюсь импортировать в класс ViewController в моем проекте, но я получаю сообщение об ошибке: «ViewController» не соответствует протоколу «OverrideButtonDelegate» «ViewController не соответствует пользовательскому классу UIButton

Вот код из пользовательского UIButton класса:

import Foundation 
import UIKit 

protocol OverrideButtonDelegate: NSObjectProtocol { 
func overrideButtonDidStartPress(overrideButton: OverrideButton) 
func overrideButtonDidEndPress(overrideButton: OverrideButton) 
} 

class OverrideButton: UIButton { 
var delegate: OverrideButtonDelegate? 

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) { 
    delegate?.overrideButtonDidStartPress(self) 
} 

override func touchesEnded(touches: NSSet, withEvent event: UIEvent) { 
    delegate?.overrideButtonDidEndPress(self) 
} 
} 

А вот код из ViewController, где я получаю сообщение об ошибке" Тип „ViewController“ не соответствует протоколу» OverrideButtonDelegate '"

class ViewController: UIViewController, OverrideButtonDelegate { 

ответ

0

Определяли ли вы две функции в делегате в UIViewController? Когда класс соответствует протоколу, функции в протоколе должны быть реализованы в классе

class ViewController: UIViewController, OverrideButtonDelegate { 

    func overrideButtonDidStartPress(overrideButton: OverrideButton) 
    { 
     //Code 
    } 
    func overrideButtonDidEndPress(overrideButton: OverrideButton) 
    { 
        //Code 
    } 
} 
+0

Спасибо много для вас помощи. Это было именно то, чего мне не хватало. – jvell