2015-11-22 85 views
1

我剛剛寫了一個名爲compute的函數,它接受一個字符串並將其轉換爲soundex值。當我調用函數時,它給了我一個錯誤,說Cannot convert value of type 'String' to expected argument type 'Soundex'。我不確定這裏發生了什麼,但我認爲這與我在Soundex類中未正確聲明該功能有關。無法將字符串類型的值轉換爲預期的參數類型soundex

Soundex.swift

import Cocoa 

class Soundex { 

    func compute(word: String) -> String { 
     return _compute(word, length: 4) 
    } 

    func _compute(word: String, length: Int) -> String { 
     ... 
    } 
} 

ViewController.swift

var lastName: String = lastNameText.stringValue 
lastName = Soundex.compute(lastName) //get error on this line 

任何幫助將是真棒,謝謝!

回答

5

With Soundex.compute(lastName)您正在調用一個類方法。但compute(_:)不是類方法。該方法改成這樣:

class func compute(word: String) -> String { 
    ... 
} 
+0

我把它改成'類FUNC compute',但現在我得到的錯誤'額外的參數「長度」在call'。我已將剩餘的功能添加到原始帖子中。 – dragonbanshee

+0

您只能從類方法調用類方法。 – dasdom

相關問題