我无法在 Swift 中创建符合协议(protocol)的扩展。
在 Objective-C 中,我可以创建一个符合协议(protocol)的类别:
SomeProtocol.h
@protocol SomeProtocol
...
@end
UIView+CategoryName
#import SomeProtocol.h
@interface UIView (CategoryName) <SomeProtocol>
...
@end
我正在尝试使用 Swift 扩展实现相同的目的
SomeProtocol.swift
protocol SomeProtocol {
...
}
UIView 扩展
import UIKit
extension UIView : SomeProtocol {
...
}
我收到以下编译器错误:
Type 'UIView' does not conform to protocol 'SomeProtocol'
最佳答案
请仔细检查您的扩展程序是否已实现协议(protocol)中定义的所有方法。如果未实现函数 a,则会出现您列出的编译器错误。
protocol SomeProtocol {
func a()
}
extension UIView : SomeProtocol {
func a() {
// some code
}
}
关于ios - 符合协议(protocol)的 Swift 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24900513/