我将以下内容放入Playground中进行理解,但是我并不明白:
import Foundation
@objc protocol Sample {
var value: Int { get set }
func increase()
func decrese()
}
extension Sample {
func increase() {
value += 1
}
func decrease() {
value -= 1
}
}
class Test: Sample {
var value: Int = 0
}
错误出现在
Test
类声明旁边,提示如下:
如果我在类中重新声明非 '@objc' 方法 'increase()' 无法满足 '@objc' 协议 'Sample' 的要求
increase()
和 decrease()
,则警告会消失。或者也可以从协议中删除这些声明。请问有人能够解释一下吗?
编辑
我确实需要一个 Objective-C 类来符合此协议,因此在开头使用了 @objc
。
@objc
,所以你的Test
类看不到默认实现。 - undefined