无法从分机呼叫功能

时间:2018-01-05 16:20:46

标签: swift swift3

我正在尝试使用extension在swift中附加一个字符串,但它的抛出错误如"value of type 'String' has no member addString "

import UIKit

var str = "Hello, playground"

var str2 = str.addString(" Appending String ...")

extension String {
    mutating func addString(str:String) {
        self = self+str
    }
}

1 个答案:

答案 0 :(得分:2)

问题1:必须先定义方法,然后才能在全局范围内使用该方法。

var str = "Hello, playground"

extension String{
    mutating func addString(str:String)
    {
        self = self + str
    }
}

var str2 = str.addString(" Appending String ...")

问题2:您定义的方法与您使用它的方式不符。您的addString(str:)就像这样。

str.addString(str: " Appending String ...")
var str2 = str

要使addString(_:)与您的使用相匹配,它必须是。

extension String {
    func addString(_ str: String) -> String
    {
        return self + str
    }
}

var str2 = str.addString(" Appending String ...")