0

問題なくクエリを実行しています。これが私のコードです。

PFQuery *postQuery = [PFQuery queryWithClassName:@"class"];
[postQuery whereKey:@"hasRelationship" equalTo:[PFUser currentUser]];
// Run the query
[postQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        //Save results and update the table
        group = [objects valueForKey:@"groupArray"];
     }
}

結果は良好です。グループ コンソールの出力は次のとおりです。

(
("Register one",
"Register two",
"Register three",
"Register four")
)

しかし、長さ1ではなく4の配列が必要です。クラッシュするように、結果をNSStringの「変更可能なコピー」に渡すことで結果を取り除くたびに:

( NSString *s = (NSString *)[group objectAtIndex:0];
NSString * text = (NSString *)[s mutableCopy];) 

エラーは次のとおりです。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM stringByReplacingOccurrencesOfString:withString:]: unrecognized selector sent ***

NSArrayオブジェクト内の要素を長さ 4にするにはどうすればよいですか? ありがとう!

4

2 に答える 2

0

これに対する簡単な答え。クエリは、4 つのオブジェクトを含む結果配列を返しました。キャストは、基本的なオブジェクトの型を変更するのではなく、特定のオブジェクトのクラスを扱っているとコンパイラに思わせるだけです。実際にはそのクラスは変更されません。

この特定の例では、その単純です。現在の応答には、インデックス 0 に既に配列があります。

NSArray *allGroups = グループ[0];

4 つの文字列すべてが 1 つの配列に含まれている必要があります。これを列挙して、やりたいことを何でも実行できます。

于 2013-05-30T14:17:50.990 に答える