2

これは迅速なバグですか?または、ここで何か不足していますか?次のように宣言しました let opts = (NSLinguisticTaggerOptions.OmitWhitespace | NSLinguisticTaggerOptions.JoinNames)

次の致命的なエラーが表示されます: Can't unwrap Optional.None Playground execution failed: error: Execution was interrupted, reason: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0). プロセスは中断された時点で残っています。式の評価前の状態に戻すには、"thread return -x" を使用します。

呼び出し元のメソッドにオプションをインライン化すると更新され、動作するようです

 let tagger = NSLinguisticTagger(tagSchemes:NSLinguisticTagger.availableTagSchemesForLanguage("en"), options: 3)

tagger.string = someString
    //if i inline the options it seems to work
    tagger.enumerateTagsInRange(r, scheme: NSLinguisticTagSchemeNameTypeOrLexicalClass, options:(NSLinguisticTaggerOptions.OmitWhitespace | NSLinguisticTaggerOptions.JoinNames)){
            tag,range,_,_ in
            let token = nsstr.substringWithRange(range)
            println("\(tag), \(token)")

        }
4

1 に答える 1

2

optionsパラメータについては、 を試してくださいInt(opts.toRaw())

(あなたが試した「3」は未加工のバージョンなのでうまくいきました。)

于 2014-08-06T00:37:39.340 に答える