0

私はそれを一時変数に渡そうとしていますが、それは起こらないようです。

アプリのビルド中にエラーは発生しませんが、「rateOfPaddy」の値を入力しようとすると、「致命的なエラー: オプション値のラップ解除中に予期せず nil が見つかりました」という理由で失敗します。

SwiftまたはEurekaに関連して何か間違ったことをしている場合はお知らせください。

    form +++ Section()
                <<< DateTimeRow() {
                    $0.tag = "RecordDateTag"
                    $0.title = "Date"
                    $0.value = NSDate()
                    }.cellSetup { cell, row in
                        cell.textLabel?.textColor = UIColor.blackColor()
                    }.onCellHighlight { _ in
                        if let dateInput = formInput["RecordDateTag"] as? String {
                            self.dateInputValue = dateInput
                        }
                    }.onCellUnHighlight { _ in
                        if let dateInput = formInput["RecordDateTag"] as? String {
                            self.dateInputValue = dateInput
                        }
                }

.onChange コールバックを使用して情報を確認し、ローカル変数に渡しましたが、役に立ちませんでした。.onCellHighlight と .onCellUnHighlight の組み合わせもうまくいきませんでした!!

4

2 に答える 2

0

「致命的なエラー: オプション値のアンラップ中に予期せず nil が見つかりました」というエラーは、値としてnilを持つオプションをアンラップしようとしていることを意味します。

as!でアンラップを強制する前に、すべてのformInput[KEY]に期待するタイプの値があることを確認してください。

オプションのバインディングの恩恵を受けることができます

if let value = formInput["Some"] as? Int
{
    //Value exist and is an Int
}
else
{
    print("Not an Int")
}

その他の参考資料:

スイフト型キャスティング

スウィフトオプション

于 2016-07-01T10:19:13.047 に答える