53. 3. オブジェクトグラフ
Xcode / フェッチ要求の定義
GUIによる検索条件定義
f_BF_LogicalDelTS == nil AND ((((f_DT_Start_Date <= $tagetDate AND
f_xxxxx_Date >= $tagetDate) OR (f_DT_Start_Date <= $tagetDate AND
f_xxxxx_Date == nil)) AND f_xxxxx_Date <= $today) OR (((f_xxxxx_Date
<= $tagetDate AND f_xxxxx_Date >= $tagetDate) OR (f_xxxxx_Date <=
$tagetDate AND f_xxxxx_Date == nil AND f_xxxxx_Date >=
$tagetDate)) AND f_xxxxx_Date > $today)) AND (f_xxxxx_Date == 12
OR f_xxxxx_Date == 22) AND f_xxxxx_Date == 0
13年1月21日月曜日 53
58. 5. 一覧表示との統合
NSManagedObject(管理対象オブジェクト)- 新規追加
- (void)insertNewObject:(id)sender
{
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name]
inManagedObjectContext:context];
// If appropriate, configure the new managed object.
// Normally you should use accessor methods, but using KVC here avoids the need to add a custom class to
the template.
[newManagedObject setValue:[NSDate date] forKey:@"timeStamp"];
// Save the context.
NSError *error = nil;
if (![context save:&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]);
abort();
}
}
? 新規データを作成して保存の例
? 一覧表示に使用しているCoreData管理オブジェクト(fetchedResultsController)から、CoreDataの変更を追跡している
NSManagedObjectContextを取得
? 新しいレコード(NSManagedObject)を作成してNSManagedObjectContextオブジェクトに追加
? 新しいレコード(NSManagedObject)にデータを設定
? データ保存
13年1月21日月曜日 58
59. 5. 一覧表示との統合
NSManagedObject(管理対象オブジェクト)- 削除-保存
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
[context deleteObject:[self.fetchedResultsController objectAtIndexPath:indexPath]];
NSError *error = nil;
if (![context save:&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]);
abort();
}
}
}
? データを削除の例
? 一覧表示に使用しているCoreData管理オブジェクト(fetchedResultsController)から、CoreDataの変更を追跡している
NSManagedObjectContextを取得
? NSManagedObjectContextオブジェクトからオブジェクトを削除
? データ保存
13年1月21日月曜日 59
60. 公开用
http://www.a10-objects.jp/
オープンセミナー広島@2013
End
for OSH@2013
13年1月21日月曜日 60