2010-07-29 2 views
0

좋아, 이제 Im new to this!라고 말하여 시작하자. LOL 저는 주제 (4 권의 책과 수많은 비디오)를 공부하고 끝까지 몇 시간을 검색하며 여전히 답을 찾지 못했습니다.사용자 입력에서 영구 저장소에 개체 추가

핵심 데이터 또는 최소한 백 엔드 DB 측면에 대한 확실한 이해를 얻었습니다. 내 앱이 내장되어 있고 내 모델이 내장되어 있습니다. 내 애플 리케이션은 각 별도의 탭에 대한 탐색 컨트롤러뿐만 아니라 Tabbar 컨트롤러가 있습니다.

내 앱에는 핵심 데이터에서 해당 항목의 이름을 채우는 항목 테이블보기가 있습니다. 항목을 선택하면 navController가 해당 항목의 나머지 데이터를로드하는 상세보기로 팝업됩니다.

사용자가 +를 클릭하여 항목을 추가 할 때 이름과 세부 정보를 추가 할 필드가있는 다른보기 컨트롤러로 이동해야합니다. 그러나, 나는이 세부 사항을 저장하는 것을 얻지 않는 것을 보인다. NSSet으로 사용자 입력을 캐스팅해야한다는 생각에 NSSet을 영구 저장소로 가져 오지 만이 메서드 선언은 나를 잊어 버리고 있습니다! 현재, 내 코드는 ...과 같이

- (IBAction) save:(id)sender { 
NSLog(@"Save pressed"); 

if (itemName != nil) { 

    [itemName removeObject:itemName]; 
    self.item = nil; //This will release our reference also 
} 
//Create a new item set for the new values 
NSSet* newItem = [[NSSet alloc] initWithSet:newItem]; 

[self didChangeValueForKey:@"itemName"]; 
[self didChangeValueForKey:@"detailItem1"]; 
[self didChangeValueForKey:@"detailItem2"]; 

//Add it to the master item array and release our reference 
[itemArray addObject:newItem]; 
[newItem release]; 

//Sort the array since the name might have changed with an existing item or a new one 
NSSortDescriptor *nameSorter = [[NSSortDescriptor alloc] initWithKey:@"itemName" ascending:YES selector:nil]; 

[itemArray sortUsingDescriptors:[NSArray arrayWithObject:nameSorter]]; 
NSLog(@"Array sorter"); 
[nameSorter release]; 

//then pop the detailed view controller 

[self dismissModalViewControllerAnimated:YES]; 
} 

내가 코어 데이터에서 발견 한 문서의 모든 사용자 입력을 허용하지, 이미 존재하는 데이터베이스를 채우는 방향으로 더 많은 포인트를 보인다. 그래서 만약 내가 나의 접근 방식에서 벗어나고 대답이 단순한 것 이상이라면, 올바른 방향으로 나를 가리켜주세요 !!

또한 핵심 데이터 저장소에 아이템을 추가했습니다. 그러나 sqlite DB는 내 응용 프로그램에서 생성되지 않았으며 자동으로 발생했다고 생각합니다. 그래서 내가 생각했던 것보다 더 많은 문제가있을 수 있습니다!

지금까지 나는이 사이트가 엄청난 도움이된다는 것을 알았지 만, 평판이 나에게 답을달라고하지는 않습니다!

어쨌든 도움에 미리 감사드립니다.

답변

1

대부분의 핵심 데이터 구현에서 여러 관리 대상 객체를 관계에 동시에 추가하지 않는 한 직접 세트를 처리하지 않습니다. 네가 여기서 뭘하려고하는지 나는 잘 모르겠다.

표시된 코드에서는 코어 데이터와 관련된 작업을 수행하지 않습니다. 컨텍스트가없고 컨텍스트에 새 데이터로 채울 수있는 새 관리 객체를 삽입하지 마십시오. 실제로 관리 대상이 전혀없는 것처럼 보입니다.

Xcode에서 탐색 기반 프로젝트 템플릿을 살펴 보시기 바랍니다. 핵심 데이터 스택을 설정하는 방법과 테이블 뷰에 표시된 개체를 추가하고 제거하는 방법을 보여줍니다.

+0

TechZen 보통 가장 간단한 대답은 맞습니다. 맞습니까?! 당신은 명백한 것을 지적했다. 그러나 나는 그것을 집어 들지 않았다. 핵심 데이터 템플릿이 있고 그 메소드는 내 주요 항목이로드 된 내 tableViewController에 의해 채워집니다. 이제 핵심 데이터가 표시되지 않는다고 언급 했으므로 핵심 데이터 방법을 AN 구현 파일로 가져 오지 않았기 때문에 아무 것도 나에게 세부 정보로 표시되지 않고 뷰를 추가하지 않는다는 것은 의미가 있습니다. 내가 새라고 말했어! LOL 답변을 주셔서 감사합니다. 적어도 계속해서 나에게 뭔가를 제공합니다. – iMerlin

관련 문제