저는 프로젝트에서 TableViewController가 초기 컨트롤러로 작동합니다. 그런 다음 CoreData를 사용하여 데이터를 저장합니다. 내 첫 번째 TableViewController에서 나는 스토리 보드에서 푸시 segue를 통해 ViewController에 도착합니다. 해당 ViewController 내 핵심 데이터에 데이터를 추가하지만 ViewController 닫고 TableViewController 다시 내 테이블 여전히 비어 있습니다. 테이블 행에 대한 내 코드보다TableView에서 CoreData의 데이터를 표시하지 않았습니다.
- (void)viewDidLoad
{
[super viewDidLoad];
AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
_managedObjectContext = [appDelegate managedObjectContext];
NSFetchRequest*request = [[NSFetchRequest alloc]init];
NSEntityDescription*name = [NSEntityDescription entityForName:@"nameEntity" inManagedObjectContext:_managedObjectContext];
[request setEntity:name];
NSError*error = nil;
NSMutableArray*mutableFetchResults = [[_managedObjectContext executeFetchRequest:request error:&error]mutableCopy];
if (mutableFetchResults == nil) {
}
[self setMutableArray:mutableFetchResults];
[self.tableView reloadData];
}
: 여기
는 테이블 내 코드입니다- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return mutableArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Name";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
Name*name = (Name*) [mutableArray objectAtIndex:indexPath.row ];
cell.textLabel.text = name.shop;
cell.detailTextLabel.text = name.date;
return cell;
}
여기에 코드를 내가 저장 나의의 ViewController 데이터 :
- (IBAction)addData:(id)sender;{
Name *name = [NSEntityDescription insertNewObjectForEntityForName:@"nameEntity" inManagedObjectContext:_managedObjectContext];
[name setShop:textField.text];
NSDate*date = [NSDate date];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"dd.MM.yyyy"];
NSString *dateString = [df stringFromDate:date];
[zoznam setDate:dateString];
"이름"클래스는 대문자 N을 가져야합니다. 클래스에 대문자를 먼저 사용하는 것이 표준입니다. 가독성을 도와줍니다 –