ブール値を指す文字列の辞書が必要です。
このように作成したNSDictionarytoolStatesがあります
NSArray *keys = [NSArray arrayWithObjects:@"X", @"Y", nil];
NSArray *isActive = [NSArray arrayWithObjects:[NSNumber numberWithBool:NO], [NSNumber numberWithBool:YES], nil];
toolStates = [NSDictionary dictionaryWithObjects:isActive forKeys:keys];
私のクラスの他の場所で、私はこのようなbooean値を取得して比較しようとしています
if ([toolStates valueForKey: @"X"] == [NSNumber numberWithBool:NO]) NSLog(@"%s", "X = NO");
コードの両方の部分が実行されていることはわかっていますが、出力を含むifステートメントで「EXC_BAD_ACCESS」エラーが発生します。
<Error>: CGAffineTransformInvert: singular matrix.
比較に何か問題がありますか?
これを試してみると、同じエラーが発生します。
[toolStates setValue:[NSNumber numberWithBool:YES] forKey:@"X"];