2012-01-14 4 views
0

저는 현재 고양이와 관련된 치즈 버거 트랙을 관리하는 응용 프로그램을 만들고 있습니다. 코어 데이터로 애플리케이션을 백업하고 있습니다. 고양이와 그 치즈 버거 사이에 일대일 관계가 있습니다 (고양이는 제로 또는 그 이상의 치즈 버거를 가질 수 있습니다).항목 세부 사항 표시 화면에서 편집 취소를 처리하는 표준 방법은 무엇입니까?

모든 고양이를 이름 (성, 이름)으로 표시하는 UITableViewController가 있습니다. 테이블의 한 행을 클릭하면 새 UITableViewController가 네비게이션 컨트롤러에 푸시되고 네비게이션 컨트롤러는 고양이에 대한 모든 정보를 표시합니다. 그 가치에 대해, 테이블 뷰는 첫 번째 두 번째 필드 (첫 번째/성, 색 등)에 대한 정보를 포함하는 그룹으로 분류됩니다. 그런 다음 두 번째 섹션에서 고양이가 가지고있는 모든 치즈 버거가 설명됩니다.

오른쪽 탐색 항목은 편집 버튼입니다. 사용자가 편집 모드에있을 때 탐색 버튼의 뒤로 버튼을 숨기고 취소 버튼으로 바꿉니다.

내 질문은 : 편집 화면에서 데이터를 관리하는 방법에 대한 표준/공통 관행/등이 있습니까? CatNSManagedObject에 변경 사항을 복사, 그들은 done 버튼을 쳤을 때 모든 것들의 사용자 변경을

  1. 보관할 트랙과 : 나는 두 가지 방법 중 하나로 일어나고 참조하십시오.
  2. NSManagedObjectContext과 연결된 NSUndoManager을 사용하고 사용자가 편집을 시작할 때 새로운 실행 취소 그룹을 만듭니다. 취소 버튼을 탭하면 그룹화를 끝내고 NSUndoManager에서 실행 취소를 수행하면됩니다.

2 옵션이 가장 실용적 인 것처럼 느껴지지만 그것에 대해 여러 감정이 있습니다. iPhone의 경우 NSManagedObjectContext에는 기본적으로 NSUndoManager이 연결되어 있지 않습니다. OSX 응용 프로그램에 대한 내용을 읽었습니다. 그물에 독서를하고있는 동안 iPhone 프로그래밍에 관하여 NSManagedObjectContext 사용에 관하여 다량 면담을 보지 않는다. 이것은 사람들이 내가 생각하지 못했던 또 다른 방법을 사용하고 있다고 느낄 수있게합니다.

답변

1

더 일반적인 iPhone 앱 워크 플로는 '취소'버튼이 전혀없는 것입니다. 대부분의 앱은 편집 버튼을 완료 버튼으로 변형합니다. 잠재적으로 손실 된 정보를 재생산하기 어려운 경우에만 취소를 고려하십시오.

그러나 취소 버튼을 원하면 첫 번째 옵션이보다 간소화 된 것처럼 보입니다. 완료시 변경 사항 적용이 완료되었습니다. 다른 경우에는 일시적 변경 데이터를 무시하십시오. 후자는 취소뿐만 아니라 앱을 종료해야하는 경우에도 수행하십시오. 명시 적으로 변경 사항 만 수락합니다.

+0

나는이 기술이 나의 인생을 단순하게한다고 생각한다. 왜 이것이 나에게 일어나지 않았는지 모르겠습니다. – Anthony