gpt4 book ai didi

iphone - Objective-C 中的正式协议(protocol)和非正式协议(protocol)有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 11:44:58 27 4
gpt4 key购买 nike

Objective-C 中的正式协议(protocol)和非正式协议(protocol)有什么区别?

最佳答案

来自 Official Documentation

Formal and Informal Protocols

There are two varieties of protocol, formal and informal:

  • An informal protocol is a category on NSObject, which implicitly makes almost all objects adopters of the protocol. (A category is a language feature that enables you to add methods to a class without subclassing it.) Implementation of the methods in an informal protocol is optional. Before invoking a method, the calling object checks to see whether the target object implements it. Until optional protocol methods were introduced in Objective-C 2.0, informal protocols were essential to the way Foundation and AppKit classes implemented delegation.

  • A formal protocol declares a list of methods that client classes are expected to implement. Formal protocols have their own declaration, adoption, and type-checking syntax. You can designate methods whose implementation is required or optional with the @required and @optional keywords. Subclasses inherit formal protocols adopted by their ancestors. A formal protocol can also adopt other protocols.

Formal protocols are an extension to the Objective-C language.

关于iphone - Objective-C 中的正式协议(protocol)和非正式协议(protocol)有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3082383/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com