私はテーブルビューを持っていて、2 つのテキストフィールドを持つカスタムセルを作成しました...テキストフィールドのテキストをコアデータに保存したいので、その目的のためにコアデータクラスを作成し、コアデータメソッドを実装する方法を知っています.
ユーザーがテキストを入力すると、コアデータに保存されるように、テーブルビューにセルを表示する方法を理解するのに苦労しています。私の理解から、これらは手順です:
1 - テーブルビューはデフォルトでカスタムセルを読み込み、テキストフィールドとともに表示します。
2 - ユーザーがテキストを入力し、Enter キーを押すと、コア データに保存されます。
私の問題は、どのように番号 1 を実行できるかです。まだデータがないため、ビューにデータをロードできません!最初にセルを表示する必要があります。
誰かがこの問題について私を助けてくれますか? これはこれまでの私のコードです:
- (void)viewDidLoad
{
AppDelegate *appDelegate =[[UIApplication sharedApplication] delegate];
self.managedObjectContext=[appDelegate managedObjectContext];
NSError *error;
if (![[self fetchedResultsController] performFetch:&error]) {
/*
Replace this implementation with code to handle the error appropriately.
abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
*/
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
[self fetchedResultsController];
[super viewDidLoad];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [[self.fetchedResultsController sections] count];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [[[self.fetchedResultsController sections] objectAtIndex:section] numberOfObjects];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"machines";
cellMeios *cellM = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cellM == nil) {
cellM = [[cellMeios alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
return cellM;
}
- (NSFetchedResultsController *)fetchedResultsController
{
if (_fetchedResultsController != nil)
{
return _fetchedResultsController;
}
// Create and configure a fetch request.
NSFetchRequest *fetchRequestMo = [[NSFetchRequest alloc] init];
NSEntityDescription *entityMo = [NSEntityDescription entityForName:@"Mo" inManagedObjectContext:self.managedObjectContext];
[fetchRequestMo setEntity:entityMo];
// Create the sort descriptors array.
NSSortDescriptor *cellTitle = [[NSSortDescriptor alloc] initWithKey:@"reference" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:cellTitle, nil];
[fetchRequestMo setSortDescriptors:sortDescriptors];
// Create and initialize the fetch results controller.
_fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequestMo managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"reference" cacheName:nil];
_fetchedResultsController.delegate = self;
self.fetchedResultsController = _fetchedResultsController;
return _fetchedResultsController;
}
他の方法もありますが、それらは私の問題には関係ないと思います。問題は...ユーザーがいっぱいになるように何かを表示する必要があるということです!
私はすでにコアデータを操作する別のテーブルビューを持っていますが、その場合、テーブルは最初は空であると想定され、次にテーブルビューの上部にプラスボタンがあり、彼は何かを選択し、コアデータに保存されます関連情報を含むセルを表示します。
よろしくお願いします。