7

条件にブレークポイントを設定しました...

[event.name isEqualToString:@"Some Name"]

これはうまくいきます。

ただし、条件付きで別のブレークポイントを追加しようとすると...

[part.name isEqualToString:@"Some Value With A Pound Sign £"]

エラーが発生します...

Internal error [IRForTarget]: An Objective-C constant string's string initializer is not an array
Stopped due to an error evaluating condition of breakpoint

ポンド記号などをエスケープする必要がありますか?

4

2 に答える 2

2

ブレークポイントのコンパイラ サポートがまだ非常に限られている理由はわかりませんが、とにかく、問題を解決するには、呼び出す各メソッドの戻り値の型を次のようにキャストするだけで十分です。

(BOOL)[(NSString *)[part name] isEqualToString:@"some string"]

これにより、文字列に「£」記号またはその他の非 ASCII 文字が含まれていない場合、コードは一時停止するはずです。LLDB コンパイラには非 ASCII 文字の問題があるように見えるので、最初にそのエンコーディングを使用して文字列を変換することをお勧めします。その間、可能であればこれを回避する方法を探しています…</p>

于 2013-06-19T14:07:53.800 に答える