Swift中的多行语句

我正在研究 Swift教程,发现 Swift有一种奇怪的方式来处理多行语句.

首先,我定义了标准String类的一些扩展:

extension String {
    func replace(target: String,withString: String) -> String {
        return self.stringByReplacingOccurrencesOfString(target,withString: withString)
    }

    func toLowercase() -> String {
        return self.lowercaseString
    }
}

这按预期工作:

let str = "HELLO WORLD"
let s1 = str.lowercaseString.replace("hello",withString: "goodbye") // -> goodbye world

这不起作用:

let s2 = str
            .lowercaseString
            .replace("hello",withString: "goodbye")
// Error: Could not find member 'lowercaseString'

如果我用函数调用替换对lowercaseString属性的引用,它再次起作用:

let s3 = str
            .toLowercase()
            .replace("hello",withString: "goodbye") // -> goodbye world

Swift语言规范中是否有任何内容可以防止将属性划分为自己的行?

代码Swift Stub.

解决方法

这绝对是一个编译器错误.问题已在Xcode 7 beta 3中得到解决.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...