これまでのところ、基本的に次のもので構成される実用的なアプリがあります。
Core Data を使用して、ユーザーに 3 つのフィールドにテキストを追加するように求める新しいビュー コントローラーをモーダルに呼び出す追加ボタンを備えた 1 つのテーブル ビュー コントローラーがあります。ユーザーが [保存] をクリックすると、情報が入力されたサブタイトル セルとしてエントリがテーブル ビュー コントローラーに追加されます。これはうまく機能します。
私が混乱していて答えを探していたのは、新しいエントリがセルの下部に追加されるという事実です。したがって、画面を埋めるのに十分なセルがある場合、新しく追加されたエントリが下部に追加されます。新しいエントリをそれぞれテーブル ビュー セルの一番上に表示したいと思います。
アルファベット順の sortDescriptors も実装しましたが、正直なところ、開始文字に関係なく、テーブル ビューの上部に新しいエントリを追加したいと考えています。
現在、私の FetchRequest は次のようになっています。
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Transaction"];
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"whoBy.name" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)];
fetchRequest.sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
self.transactions = [[managedObjectContext executeFetchRequest:fetchRequest error:nil]mutableCopy];
これは、エントリをデータベースに追加するコードです。
NSManagedObject *person = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:context];
[person setValue:self.nameTextField.text forKey:@"name"];
[transaction setValue:person forKey:@"whoBy"];
どんな考えでも大歓迎です!