私のクラスには、次のようになります:関数が、定義された文字列ではなく、パラメータとして自分自身を含むクラスを必要とするのはなぜですか?
class MyNewClass {
func myNewFunction (paramString : String) -> String {
var myString = ""
if paramString.caseInsensitiveCompare("A") == ComparisonResult.orderedSame {
myString = "The string is A"
}else{
myString = "The string is blank"
}
return myString
}
}
これは私が別のViewContoller
でこのクラスを使用する場合、それは私に奇妙なエラーを与える何problem.Butを持っていません。
は、私は私がMyNewClass
に定義paramString
ようmyNewFunction()
に "A" を挿入する必要があり、別のViewController
let myString : String = MyNewClass.myNewFunction("A")
と仮定して、このようなmyNewFunction
を呼び出すが、私はこの
のような警告が表示されます'文字列'は 'MyNewClass'に変換できません
IただmyNewFunction()
は、そのパラメータとしてMyNewClass
であることが含まれているクラスを必要とする理由私はmyNewFunction()
.ANDのパラメータとしてString
を解析カントなぜ知りませんか?
誰かあなたはMyNewClass
のインスタンスを開始せずに、それを呼び出したい場合は、あなたが
class MyNewClass {
static func myNewFunction (paramString : String) -> String {
var myString = ""
if paramString.caseInsensitiveCompare("A") == ComparisonResult.orderedSame {
myString = "The string is A"
} else {
myString = "The string is blank"
}
return myString
}
}
MyNewClass.myNewFunction(paramString: "foo")
のように、func
前static
を付加することができますしてください
おかげでとてもhelped..I新しいswift..thanksウル助け – ken
をbro..it私の' 'MyNewClass' static'手段は何ですか? – ken
'static'キーワードは、いくつかの言語で' class func/var'と同じです。つまり、関数がインスタンスのメンバーではないことを意味します。たとえば、 'self'は静的関数で使用できません。なぜなら' self'はそこに存在しないからです。静的関数/プロパティを、クラス名で名前空間を付けたグローバル関数と考えてください。私はCS卒業生ではないので、本当に正しく説明できません。申し訳ありません! –