How to create a protocol with methods that are optional?

前端 未结 5 1585
青春惊慌失措
青春惊慌失措 2020-12-12 17:02

I noticed methods marked optional in several protocols defined in the iPhone SDK, such as the UIActionSheetDelegate protocol for example.

How can I defi

5条回答
  •  爱一瞬间的悲伤
    2020-12-12 17:11

    From the Apple page on "Formal Protocols":

    Optional Protocol methods can be marked as optional using the @optional keyword. Corresponding to the @optional modal keyword, there is a @required keyword to formally denote the semantics of the default behavior. You can use @optional and @required to partition your protocol into sections as you see fit. If you do not specify any keyword, the default is @required.

    @protocol MyProtocol
    
    - (void)requiredMethod;
    
    @optional
    - (void)anOptionalMethod;
    - (void)anotherOptionalMethod;
    
    @required
    - (void)anotherRequiredMethod;
    
    @end
    

提交回复
热议问题