protocol MyProtocol { var a: String? { get set }}class MyClass { var a: String}extension MyClass: MyProtocol { // What do I put here to make the class conform}解决方法 不幸的是,您无法使用其他类型在MyClass中重新声明相同的变量.
Dennis建议使用什么,但是如果你想让你的变量在MyClass中保持非可选,那么你可以使用一个计算属性来包装你存储的变量:
protocol MyProtocol { var a: String? { get set }}class MyClass { // Must use a different IDentifIEr than 'a' // Otherwise,"InvalID redeclaration of 'a'" error var b: String}extension MyClass: MyProtocol { var a: String? { get { return b } set { if let newValue = newValue { b = newValue } } }}总结
以上是内存溢出为你收集整理的swift – 具有非可选属性的类,符合具有可选属性的协议全部内容,希望文章能够帮你解决swift – 具有非可选属性的类,符合具有可选属性的协议所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)