Objective-Cでcoredataを使って値を保存したり、
その値を取り出したりしたいです。
下記コードのようにNSManagedObjectを親クラスとし、
プロパティ属性の変数を定義
NewModel.h
objective
1#import <UIKit/UIKit.h> 2#import <CoreData/CoreData.h> 3 4@interface NewModel : NSManagedObject 5@property (nonatomic, retain) NSString *text; 6@end
NewModel.m
objective
1#import "NewModel.h" 2 3@implementation NewModel 4@dynamic text; 5@end
objective
1// エンティティを取得するメソッド 2- (NewModel *)getCoreData:(NSManagedObjectContext *)context { 3 4 NSEntityDescription *entityDescription = [NSEntityDescription entityForName:text inManagedObjectContext:context]; 5 NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 6 7 fetchRequest.entity = entityDescription; 8 NSError *error = nil; 9 10 NSArray *result = [context executeFetchRequest:fetchRequest error:&error]; 11 if([result count] == 0){ 12 13 return nil; 14 15 } 16 17 return [result objectAtIndex:0]; 18 19} 20 21//NSString型のメンバ変数textに対し文字列を保存するメソッド 22- (void)insertText:(NSManagedObjectContext *)context :(NSString *)str{ 23 24 NewModel *managedObject = [NSEntityDescription insertNewObjectForEntityForName:text inManagedObjectContext:context]; 25 managedObject.applicationNumber = str; 26 [context save:nil]; 27 28} 29 30 31 32//保存された文字列を取得するメソッド 33- (NSInteger *)getText:(NSManagedObjectContext *)context { 34 35 NewModel *str = [NewModel getCoreData:context]; 36 if(str == nil){ 37 return @""; 38 } 39 40 return data.str; 41}
やりたい事はいたってシンプルなのですが、思うように動きません。どなたかご教示いただければと思います。
よろしくお願いいたします。
あなたの回答
tips
プレビュー