Bir portaldan bazı haberleri göstermek için bir uygulama yazıyorum. Haberler İnternet'ten bir JSON dosyası kullanılarak getirilir ve daha sonra CoreData Modeli kullanılarak bir NSMutableArray içine depolanır. Açıkçası, bir kullanıcı internetteki JSON dosyasındaki haberleri silemez, ancak bunları yerel olarak gizleyebilir. problemler, buraya gel Aşağıdaki kod var burada:NSMutableArray removeObjectAtIndex: geçersiz bir argüman istisnası atar
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
if(!moc){
moc = [[NewsFetcher sharedInstance] managedObjectContext];
}
[[dataSet objectAtIndex:indexPath.row] setEliminata:[NSNumber numberWithBool:YES]];
NSError *error;
if(![moc save:&error]){
NSLog(@"C'è stato un errore!");
}
[dataSet removeObjectAtIndex:indexPath.row];
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
}
satır: uygulamalarımdaki neden
[dataSet removeObjectAtIndex:indexPath.row];
aşağıdaki hata ile çökmesine:
2010-07-12 19:08:16.021 ProvaVideo[284:207] * -[_PFArray removeObjectAtIndex:]: unrecognized selector sent to instance 0x451c820 2010-07-12 19:08:16.022 ProvaVideo[284:207] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[_PFArray removeObjectAtIndex:]: unrecognized selector sent to instance 0x451c820'
Ben Neden işe yaramadığını anlamaya çalışıyorum ama yapamam. Uygulamayı yeniden başlatırsam, yeni doğru mantıksal olarak iptal edildi. Herhangi bir öneri? Şimdiden teşekkürler.
Arayüz:
@interface ListOfVideo : UITableViewController <NSFetchedResultsControllerDelegate> {
NSMutableArray *dataSet;
}
@property (nonatomic, retain) NSMutableArray *dataSet;
// In the .m file:
@synthesize dataSet;
Başlatma viewDidLoad
yılında: net yeni haberler için kontrol ederken
dataSet = (NSMutableArray *) [[NewsFetcher sharedInstance]
fetchManagedObjectsForEntity:@"News"
withPredicate:predicate
withDescriptor:@"Titolo"];
[dataSet retain];
updateDatabase
... Bu, ben MutableArray bunları ekleyin:
[dataSet addObject:theNews];
Veri kümesinin bir NSMutableArray olduğundan emin misiniz? RemoveObjectAtIndex'e yanıt vermiyorsa: bu yalnızca bir NSArray olabilir. –
Bu seçiciye yanıt vermezse, bir "NSMutableArray" değil. Doğru şekilde oluşturmayabilir veya yanlışlıkla bir ['copy' özelliği] kullanamazsınız (http://stackoverflow.com/questions/3220120/nsmutablearray-addobject-nsarrayi-addobject-unrecognized-selector-sent-to/3220137#3220137). Şüphe ediyorsanız, '-isKindOfClass:' kullanarak test etmeye çalışın. –
umble, bu bir NSMutableArray değil, ancak: @interface ListOfVideo: UITableViewController {NSMutableArray * dataSet; } @property (nonatomic, retain) NSMutableArray * dataSet; ... // .m dosyasında @synthesize dataSet; –
IssamTP