2010-01-27 3 views
0

그래서 뭔가를하는 init 메서드를 가진 클래스가 있다고 가정합니다. xml 형식의 네트워크에서 데이터를 가져 와서 일부 속성을 초기화하기 위해이를 파싱합니다. 내 관심사는 네트워크가 다운 된 경우 또는 객체가받는 xml 데이터를 처리해야하는 경우입니다.아이폰 앱에서 모델을 초기화 할 때 문제를 어떻게 해결할 수 있습니까?

일반적으로 C에서는 오류를 나타내는 반환 값을 사용하고 사용자에게보고 할 수있을 때까지 어떤 종류가 반환 될지 알려줍니다. 나는 그것이 정말로이 상황에서 효과가 있다고 생각하지 않는다.

네트워크 아래로 들어

답변

1

사용 비동기 네브라스카 twork 요청.

  1. 은 UI를 생성하고 (이미지 같은) 또는 실제 값 (예 : 빈 테이블) 아니오 데이터 더미 하나 여분으로 표시.

  2. 그런 다음 데이터에 대한 요청을 만들고 데이터를 사용하여 이라는 데이터 소스를 호출합니다.

  3. 데이터를 받으면 처리기 이 호출됩니다.

  4. 데이터를 구문 분석하고 UI를 업데이트합니다. 데이터가 유효하지 않은 경우 이제 사용자에게 알리기 위해 UI를 업데이트 할 수 있습니다.

  5. 당신은 네트워크 문제 의 경우 요청 및 특정 시간 내에 데이터를 반환하지 않는 기능을 취소하려면 시간 제한을 사용할 수 있습니다.

작년 Stanford's CS193p 클래스의 예 있었다 (아이폰 프로그래밍하지만 같은 데스크탑 애플리케이션에 적용) 빈 사용자 인터페이스를 보여주는 데이터가 돌아 오는 때를 업데이트와 함께. 아마도 그물에 대한 언급을 찾을 수있을 것입니다. 그렇지 않으면 금년에 새로운 예가있을 것입니다.

0

, 당신은 몇 가지 옵션

  • 경고 당신이 필요한 데이터를 검색
  • 쇼 오래된 (마지막로드, 어쩌면 오래된하지?) 데이터

나쁜 들면 할 수없는 사용자 데이터 :

  • 경고 사용자
  • 다시 시도하십시오
  • 이전 데이터 표시
  • 닫는 태그가 없습니까? 등)
  • 데이터 (어쩌면 당신이 사용할 수있는 무언가를 추출 할 수있다)의 일부를 보여

지금까지 오류 코드로, 당신은 할 수 있습니다 :?

  • 리턴 코드를 즉 bad_data -1 등
  • no_network -2, 당신은 예외를 던져 그들을 잡을 및 사용자에 매핑 할 수 있습니다 친화적 디스플레이 메시지
관련 문제