web-dev-qa-db-ja.com

タイプ「JSON」の値をタイプ「STRING」のインデックスで下付き文字にすることはできません

これはSwift2で機能していましたが、Swift3では(自動変換後)エラーが発生します:

if self.entry["scheduler"] || self.entry["owner"]

Cannot subscript a value of type 'JSON' with an index of type 'STRING'

Self.entry ["scheduler"]などの値はブール値ですが、問題はインデックス「scheduler」と「owner」だと思います。

もちろん、私はself.entryの他のインデックスをまったく同じ方法で参照し、ビルド時にエラーが発生しません。

xcodeが自動更新され、私は悪夢の中に住んでいます。

8

最初の2行の.stringに期待するタイプを置き換えます

let scheduler = self.entry["scheduler"].string
let owner = self.entry["owner"].string

if(scheduler != nil || owner != nil)
{
    // Take care here - scheduler and owner are both optionals
}
14
DavidA