Something is trying to copy your delegate somewhere down the line, either directly or (more likely) using it as the key in a dictionary. You have a couple options
- Figure out where and change it to not copy/use a dictionary; or
- Implement
-[TaskClass copyWithZone:]
; as long as you're doing that you may as well declare yourself to conform to theNSCopying
protocol.