[By default, all methods declared in a protocol are required methods.](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithProtocols/WorkingwithProtocols.html) You should either remove this check or mark the method as optional in the protocol.