0

これは、UITableViewから値を選択したときに受け取るエラーです。

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Can't do regex matching, reason: Can't open pattern U_ILLEGAL_ARGUMENT_ERROR (string Motron, pattern 
libc++abi.dylib: terminate called throwing an exception
(lldb) 

このようなエラーが発生したのはこれが初めてです。以下に示すコードの2行目のテーブルビューメソッドdidSelectRowAtIndexPathでエラーを受け取ります。

// This predicate restricts the filterDataArray to the related values of the selected index
            NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K like %@",@"MASTER",cell.textLabel.text];
            filterDataArray = [dataArrayOfDictionaries filteredArrayUsingPredicate:predicate];

辞書の配列をログアウトしました。これは、辞書の値の1つがどのように見えるかを示しています。

{
        HASM = 1;
        ISM = 0;
        ISV = 0;
        MASTER = Merc;
        MANURE = 96;
    }

配列には、これらの辞書が約60または17個あります。どんな助けでも大歓迎です。

4

1 に答える 1

1

この場合、述語を正しく使用していないと思います。これを試してください

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"MASTER CONTAINS [c]%@", cell.textLabel.text];
filterDataArray = [dataArrayOfDictionaries filteredArrayUsingPredicate:predicate];
于 2012-10-28T23:07:03.700 に答える