2

セル内のデータAFNetworkingをフェッチするために使用しています。配列を として宣言しましたが、セルを並べ替えようとするとエラーが発生し、アプリケーションがクラッシュします。JSONUITableViewNSMutableArray-[__NSCFArray removeObjectAtIndex:]: mutating method sent to immutable object

並べ替えに使用しているロジックは次のとおりです-

-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath
 toIndexPath:(NSIndexPath *)toIndexPath {

NSString *item = [self.jobsArrayFromAFNetworking objectAtIndex:fromIndexPath.row];
[self.jobsArrayFromAFNetworking removeObject:item];
[self.jobsArrayFromAFNetworking insertObject:item atIndex:toIndexPath.row];


}

以前に回答されていた解決策を調べてみましたが、理解できませんでした。ここで何が問題なのか誰か教えてもらえますか? ありがとう!

4

1 に答える 1

8

あなたの @propertyjobsArrayFromAFNetworkingは で初期化されているNSArrayか、宣言されてcopyいます。

バッキング ivar が (immutable) を指すため、どちらもこのエラー メッセージにつながりますNSArray

プロパティの型を宣言した場合は、の代わりにストレージ修飾子としてNSMutableArray使用します。strongcopy

于 2013-07-11T13:13:27.900 に答える