2013-03-18 2 views
0

데이터 기반 iOS 응용 프로그램에서 작업하고 있습니다. iOS 앱에 미리로드 할 데이터를 준비하는 코어 데이터 & 코코아 바인딩이있는 도우미 mac os 앱을 완성했습니다.코코아 바인딩 - [NSArrayController removeObjects]는 데이터베이스에서 실제로 개체를 삭제하지 않지만 다시 표시하지 않습니다.

갑자기 미리로드 된 .sqldata 파일을 사용할 때 빈 개체가 발견되었습니다. 도우미 응용 프로그램에서 NSArrayController의 add/removeObjects 메서드를 사용하고있었습니다. 문제는 removeObjects가 데이터베이스 테이블에서 실제로 개체를 삭제하지 않는다고 생각합니다.

어레이 컨트롤러뿐만 아니라 데이터베이스에서도 성공적으로 삭제되었는지 확인하십시오.

답변

0

좋아, 문제를 해결했습니다. 문제는 NSArrayController에서 객체를 삭제했지만 맨 처음 ManagedObjectContext에서 객체를 삭제하는 것을 잊었습니다.

2

NSArrayController의 add/removeObjects 메소드를 사용하여 데이터 기반 iOS 앱에서 작업하고 있습니다.

NSArrayController은 iOS에 없으므로 사용하는 데 문제가 있습니다. 이 시점에서 당신이 시뮬레이터에서 작업하고 있다고 생각합니다. 편리 하긴하지만 시뮬레이터를 사용하면 실제 장치에서 유효하지 않은 내용을 제거 할 수 있습니다. iOS 앱에서 작업하는 경우 NSArrayController의 문제를 해결하는 것은 시간 낭비이며 가능한 한 빨리 제거하는 것이 가장 좋습니다.

+0

죄송합니다. 나는 Mac OS X 응용 프로그램 (도우미 응용 프로그램)에서만 NSArrayController를 사용합니다. 이 충돌에 대해 사과드립니다. bo를 더 명확하게 편집하겠습니다. – Tahan