Swift 2.0 Beta:协议在Xcode Beta 5中是否被打破?

开发者和艺术家

目前,我正在开发使用Swift 2.0编写的新应用。今天我面对两个奇怪的错误Xcode beta 5如果有人使用Xcode的先前Beta版可以确认我是否正确,我将非常乐意。我也可能会误解某些内容,因此,感谢您的反馈。

以下是一些示例代码,这些代码使我有些挣扎:

// Frist bug
protocol SomeProtocol {

    var someArray: [String] { get set } // #1 bug
}

extension SomeProtocol {

    func someFunction(someString: String) {

        self.someArray.append(someString) // #1: Immutable value of type '[String]' only has mutating members named 'append'
    }
}

// Second bug
protocol SomeInterfaceProtocol {

    var someBool: Bool { get set } // #2 bug
}

class SomeClass: SomeInterfaceProtocol {

    var someBool: Bool = false

    func returnInterface() -> SomeInterfaceProtocol {

        return self
    }
}

let someInstance = SomeClass()

// can't set the value
someInstance.returnInterface().someBool = true // #2: Cannot assign to property: function call returns immutable value
托马斯·坦佩尔曼

如果您mutating在扩展功能声明之前添加修饰符则可以解决第一个错误,如下所示:

mutating func someFunction(someString: String) {

我怀疑这是语言上的变化。

另一个也让我感到困惑。至少,这是一种解决方法:

var c = someInstance.returnInterface()
c.someBool = true

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Xcode 7 Beta 5 Swift 2冗余符合协议错误

使用swift 2(xcode 7 beta 5)解析注册错误

Xcode 7.3 Beta 1与Swift中的CommonCrypto

Swift 3 UnsafePointer($ 0)不再在Xcode 8 beta 6中编译

SQLite.swift窗格:Xcode 8.3 beta 2中的Swift编译器错误

如何使用Xcode 6.3 Beta2从Swift中的SuperClass覆盖设置器?

XCode 7 Beta / Swift 2中的单元测试核心数据

Swift 2中文档注释的新格式是什么?(XCode 7 beta 3)

Swift 4-Xcode 9.0 beta 2上的OpenCV 3.2

.enumerateGroupsWithTypes阻止停止参数Swift(Xcode 6 beta 5)

AVAudioPlayer不再在Swift 2.0 / Xcode 7 beta中工作

Xcode 8 beta 6中的Swift Header问题

Xcode 7 beta 5,Swift 2:UITableViewCell的子视图在运行时未添加到contentView

Swift 2 Playground(Xcode 7 Beta 4)-数组中的多个类型仅在导入UIKit时才起作用吗?

tableView.reloadData()在使用Simulator的Xcode 7 beta 4和Swift2中不起作用

在Swift中,是否存在#ifdef来区分Xcode 6.4和Xcode 7 beta?

Xcode 11 beta swift ui preview not showing

iOS 11 Beta 2 / Xcode Beta 3 AutoLayout问题

是否可以在XCode 7 Beta中切换XCode项目以使用Swift版本1.2?

swift Beta 5上没有bridgeToObjectiveC

Swift:XCode6 Beta 5在AppDelegate中的核心数据对象上给出了错误

CocoaPods-使用Xcode-beta为iOS 9 / Swift 2构建

Alamofire Swift 2-无法提交Beta测试(Xcode 7 GM)

Xcode Beta 2-如何在调试窗口中查看swift字符串上的值

Swift和XCode 7 Beta 2未显示正在播放的歌曲的元数据

Swift 5(Xcode 11 Beta 5&6)-如何写入JSON文件?

Xcode 8 Beta 2安装错误

Xcode 9 Beta 2 libxml错误

Xcode6 beta 5占用了所有空内存,Swift