私は、アイテムがクリックされたかどうかを示すためにcell.accessoryTypeに基づいてユーザーがUITableView内のセルをクリックしたときにCoreDataオブジェクトを編集しようとしています。ここに現在のコードがあります。update/edit coreData管理オブジェクト
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSManagedObject *itemToUpdate = [groceryArray objectAtIndex:indexPath.row];
NSLog(@"updating: %@", itemToUpdate);
if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
cell.accessoryType = UITableViewCellAccessoryNone;
itemToUpdate.purchased = NO;
}else {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
itemToUpdate.purchased = YES;
}
// Commit the change.
NSError *error;
if (![managedObjectContext save:&error]) {
// Handle the error.
NSLog(@"Saving changes failed: %@", error);
}
}
のNSLog()が正しい項目が表示されますので、私は、例えば、ドット表記を使用して更新しようとすると、それは右のオブジェクトを選択しているようです"itemToUpdate.purchased = YES;"コンパイラは "構造体または共用体ではないものに購入された"メンバーの要求 "というエラーをスローします。
私はおそらくこれが間違っていることを知っています(xcodeの私の最初のプロジェクト) - アドバイスをいただければ幸いです!
おかげ
ありがとう!それはうまくいった...私は多くの読書をする必要があります。あなたの時間と助けを感謝します。 :) – lostincode