2016-12-28 13 views
-12

文字列値を返す関数を作成しようとしていますが、入力値は使用しません。コードは関数の外部で正常にテストされました。私は、このコンパイラエラーを取得:Swift 3.0の関数の使い方

Unexpected non-void return value.

Func GetPickerDate() { 
    var strDate: String 

    //do stuff here to obtain result string 

    return strDate 
    } 
+15

レッスン#1のものを。 [Swift Programming Guide:Functions](https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html) – vadian

+5

これはSwift 101のものです。この種の「こんにちは世界」のランクの初心者の質問はこのサイトには適していません。 –

+0

はい、それはスウィフト101のものですが、スウィフトのプログラミングガイドには欠けているものがたくさんあります。 VOIDという言葉のように、私はダウンキャスト(&モック)を好む人の代わりに喜んで助けてくれる人に感謝しています。私の場合、入力パラメータを含まない関数の例はありませんでした。 – ot1

答えて

-2

直下使用:

func GetPickerDate() -> String { 
    var strDate: String = "" 

    //do stuff here to obtain result string 

    return strDate 
} 
+3

この回答を下落させた理由を知ることはできますか? – iYoung

+0

コードが動作します、ありがとうございます。投票をしようとしましたが、許可されませんでした。 – ot1

+0

コードが動作し、strDateを ""に初期化する必要はありませんでした。 THX – ot1

1

だから、迅速に機能するが、このように書かれます:

func <name> ([param1, param2, ...]) -> <return type> 

しかし、戻り値の型は、あなたが-> Voidを無視することができますVoidあるとき。だから、多くの場合、あなたは

func <name> ([param1, param2, ...]) 

が表示されますので、あなたの場合には何が必要な問題は、あなたが戻り値の型がどうなるか、それを教えていないということです

func getPickerDate() -> String { 
    var strDate: String 
    // do stuff 
    return strDate 
} 
+0

ありがとうございました。 – ot1

1

です。ここにはappleの例があります。この関数は文字列と入力してここに(person: String)という文字列を出力し、ここには-> Stringというように 'person'という入力があります。

func greet(person: String) -> String { 
    let greeting = "Hello, " + person + "!" 
    return greeting 
} 

+1

答えが正しいとマークしてください。 – pudility

+0

どういう意味ですか? – pudility

+0

私の記事の最初の文章を読むと、文字列の値が返されていると言われているので、 "問題"があってはいけません。また、//コメントは文字列値を返すと述べています。 – ot1

関連する問題