NSDateFormatterはswift2でnilを返します

Phantom.Oo

私は私の文字列を変換する場合NSDate、それが戻っていますnil

そしてエラーを表示します:

致命的なエラー:オプション値のアンラップ中に予期せずnilが見つかりました

例:日付= 2016年8月9日9:45:19 AM

convertDate(DateString:String) -> NSDate{
    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "MM/dd/yyyy hh:mm:ss a"
    let date = dateFormatter.dateFromString(DateString)
    print(date) // return nil

    return date! 
}

あなたは理由が何であるかを導くことができますか?

pbodsk

問題は、あなたdateFormatterそれを使うように言ったのでDateStringdateFormatあなたがそれを渡しているあなたがそれを変換することができないということです

したがって、それはあきらめて戻りますnil。つまり、この行を実行すると、次のようになります。

let date = dateFormatter.dateFromString(DateString)

の値datenil

次に、の値を取得して、ここに表示されているように、date「この値を強制的にアンラップして返します。ゼロかどうかは関係ありません」と言います。

return date!

関数はNSDate...を返すことが期待されているため、常にインスタンスを返すことを保証しNSDate、ではなくインスタンスを返すことを保証しますnil。次にnil、アプリがキールする可能性のあるもの(この場合は)を強制的にアンラップするように指示します。強制的にアンラップしようとしますdate

一般に、Swiftで物事を強制的にアンラップすることは、値がそうでないことが絶対に確実でない限り、ほとんどの場合悪い考えですnil

したがって、考慮すべき点がいくつかあります。

  1. あなたはDateString実際にどのように見えますか?dateFormatこの値は解析できないため、その文字列または文字列に何か問題があるはずです。

  2. あなたはいつもを返す必要がありますNSDateか?または、代わりにオプションを返し、メソッドの呼び出し元に、convertDateメソッドが何か有用なものを返すかどうかを心配させることはできますか?

それがあなたに何かを働かせることを願っています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

NSDateFormatterはnilを返します

分類Dev

NSDateFormatterはIOS10でnilを返します

分類Dev

NSDateFormatterは、単純な要求でnil日付を返します

分類Dev

NSDateFormatter dateFromString:stringDateはiOS8.3でnilを返します

分類Dev

NSDateFormatter dateFromStringは、不適切な日付でnilを返します

分類Dev

NSDateがnilの場合、NSDateFormatterは(null)文字列を返します

分類Dev

NSDateFormatterはnilを示しています

分類Dev

NSDateFormatterは、フォーマットYYYY-MM-ddTHH:mm:ssZでnilを返します。

分類Dev

Swift MetalMTLCreateSystemDefaultDeviceはnilを返します

分類Dev

解析PFQueryはnil(swift)を返します

分類Dev

UILabel Swift / Storyboardはnilを返します

分類Dev

iOS-NSDateFormatter dateFromStringは、1つの場合にのみnilを返します

分類Dev

Swift 2 Decodebase64は常にnilを返します

分類Dev

SwiftでNSDateFormatterを作成しますか?

分類Dev

解析サーバーからswift2の配列を返します

分類Dev

UIImageはUITestsでnilを返します

分類Dev

selectedTextRangeはUISearchbariOSでnilを返します

分類Dev

selectedTextRangeはUISearchbariOSでnilを返します

分類Dev

Swift date(byAdding:to :)は、REPLでの簡単な計算ではnilを返します

分類Dev

識別子を使用してセグエを実行すると、Swift2では機能しません

分類Dev

引数リストを使用してSwift2で「sendAsynchronousRequest」を呼び出すことはできません

分類Dev

辞書のデータ構造はSwiftでnilを返します

分類Dev

Swift2でNSDictionaryがnilでないかどうかを確認する方法

分類Dev

'queryForTable'はSwiftで 'nil'を返すことができません

分類Dev

Swift2は辞書アイテムの関数を列挙します

分類Dev

Swift2でCSVまたはテキストファイルを追加する

分類Dev

NSDateFormatterは、PMである必要があるときにAMを返します

分類Dev

NSDateFormatterのdateFromStringは、stringFromDateからの日付でnullを返します

分類Dev

stringByAppendingPathComponentはswift2では無効になりました

Related 関連記事

  1. 1

    NSDateFormatterはnilを返します

  2. 2

    NSDateFormatterはIOS10でnilを返します

  3. 3

    NSDateFormatterは、単純な要求でnil日付を返します

  4. 4

    NSDateFormatter dateFromString:stringDateはiOS8.3でnilを返します

  5. 5

    NSDateFormatter dateFromStringは、不適切な日付でnilを返します

  6. 6

    NSDateがnilの場合、NSDateFormatterは(null)文字列を返します

  7. 7

    NSDateFormatterはnilを示しています

  8. 8

    NSDateFormatterは、フォーマットYYYY-MM-ddTHH:mm:ssZでnilを返します。

  9. 9

    Swift MetalMTLCreateSystemDefaultDeviceはnilを返します

  10. 10

    解析PFQueryはnil(swift)を返します

  11. 11

    UILabel Swift / Storyboardはnilを返します

  12. 12

    iOS-NSDateFormatter dateFromStringは、1つの場合にのみnilを返します

  13. 13

    Swift 2 Decodebase64は常にnilを返します

  14. 14

    SwiftでNSDateFormatterを作成しますか?

  15. 15

    解析サーバーからswift2の配列を返します

  16. 16

    UIImageはUITestsでnilを返します

  17. 17

    selectedTextRangeはUISearchbariOSでnilを返します

  18. 18

    selectedTextRangeはUISearchbariOSでnilを返します

  19. 19

    Swift date(byAdding:to :)は、REPLでの簡単な計算ではnilを返します

  20. 20

    識別子を使用してセグエを実行すると、Swift2では機能しません

  21. 21

    引数リストを使用してSwift2で「sendAsynchronousRequest」を呼び出すことはできません

  22. 22

    辞書のデータ構造はSwiftでnilを返します

  23. 23

    Swift2でNSDictionaryがnilでないかどうかを確認する方法

  24. 24

    'queryForTable'はSwiftで 'nil'を返すことができません

  25. 25

    Swift2は辞書アイテムの関数を列挙します

  26. 26

    Swift2でCSVまたはテキストファイルを追加する

  27. 27

    NSDateFormatterは、PMである必要があるときにAMを返します

  28. 28

    NSDateFormatterのdateFromStringは、stringFromDateからの日付でnullを返します

  29. 29

    stringByAppendingPathComponentはswift2では無効になりました

ホットタグ

アーカイブ