swift函数的调用约定
-
The convention of the function, indicated by the
attribute. This is similar to the language-level
@conventionattribute, though SIL extends the set of supported conventions with additional distinctions not exposed at the language level:@convention(thin)indicates a "thin" function reference, which uses the Swift calling convention with no special "self" or "context" parameters.@convention(thick)indicates a "thick" function reference, which uses the Swift calling convention and carries a reference-counted context object used to represent captures or other state required by the function. This attribute is implied by@callee_ownedor@callee_guaranteed.@convention(block)indicates an Objective-C compatible block reference. The function value is represented as a reference to the block object, which is anid-compatible Objective-C object that embeds its invocation function within the object. The invocation function uses the C calling convention.@convention(c)indicates a C function reference. The function value carries no context and uses the C calling convention.@convention(objc_method)indicates an Objective-C method implementation. The function uses the C calling convention, with the SIL-levelselfparameter (by SIL convention mapped to the final formal parameter) mapped to theselfand_cmdarguments of the implementation.@convention(method)indicates a Swift instance method implementation. The function uses the Swift calling convention, using the specialselfparameter.@convention(witness_method)indicates a Swift protocol method implementation. The function's polymorphic convention is emitted in such a way as to guarantee that it is polymorphic across all possible implementors of the protocol.
https://github.com/apple/swift/blob/master/docs/SIL.rst#properties-of-types
判断力是一个人最重要的能力

浙公网安备 33010602011771号