2013-04-16 1 views
0

EDIT - SOLVED : 테이블 뷰에 넣을 모든 개체가있는 문자열을 만들 때 문제가 발생했습니다. 나는 '?' 그 배열을 깨뜨린 각 문자와 그 문자가 담긴 문자 중 하나를 분리하십시오. [myString appendFormat:@"%@$%@$%@$%@?",
[currentCampeggioDict valueForKey:@"id"],
[currentCampeggioDict valueForKey:@"nome"],
[...]
NSRangeException - NSArrayM objectAtIndex

NS Array *elencoCampeggi=[myString componentsSeparatedByString:@"?"];

That's it.


I have this problem: my app receives from an URL a XML file with a list of objects. The tableview은 해당 개체로 채워집니다. ..

의 마지막 셀

http://www.myurl.com?method=xxx&PAGE=1

http://www.myurl.com?method=xxx&PAGE=2

등 :이 많은 항목은, 그래서 예를 들면 그것의 매개 변수를 변경, 여러 번에게 URL을 호출해야 tableview에는 "다음 25 개의 개체를로드하려면 클릭하십시오"라는 문장이 포함되어 있으며 URL의 페이지 번호를 변경하고 자체를 삭제 한 다음 url을 다시로드하고 새 개체를 tableview에 추가합니다.

4 번 모든 것이 잘 작동하지만, 내가 다섯 번째의 셀을 누를 때, 예외가 다음과 같은 텍스트가 나타납니다 후 :

Terminating app due to uncaught exception 'NSRangeException', reason: '* -[__NSArrayM objectAtIndex:]: index 17 beyond bounds [0 .. 16]'

어떤 도움을? 감사.

편집 : 일부 코드 : 이것이 내가 마지막 셀을

-(void) loadTestData { // fill moviesArray with test data

NSInteger lastRow = [CampeggiArray count]-1; if (lastLoadedPage > 1){ [CampeggiArray removeObjectAtIndex:lastRow]; [self.tableView reloadData]; } 

[...]

+0

음 오류는 배열의 외부 인덱스를 액세스하려고 ... 우리는 몇 가지 코드를 참조 할 필요가 있음을 의미한다. 일부 중단 점을 설정하면 – Daniel

+0

이 아마 마지막 페이지에 도달 했으므로 numberOfRowsForSection 메서드에서 제대로 처리하지 못한다는 것을 의미합니다. – Eugene

+0

'objectAtIndex :'를 호출하는 코드를 표시해야합니다. 그렇지 않으면 추측 할 수 없습니다. 무슨 일이야. – dasblinkenlight

답변

0

문제를 삭제하는 부분입니다 당신이 당신의 tableview의 대리자 메서드에 잘못된 행 수를 반환되기 때문이다. 당신은 테이블 뷰에리스트 될 오브젝트의 총 개수를 확인하고 테이블 뷰 델리게이트 메소드에서 카운트를 리턴 할 필요가있다. 귀하의 페이지 크기가 아닙니다.

각 히트마다 새 객체를 기존 데이터 소스 (NSArray)에 계속 추가하고 테이블을 다시로드해야합니다. 처음 히트하는 동안 데이터 소스에 객체가 없습니다.

저는 델리게이트 메서드에서 15 대신 16을 반환한다고 추측합니다. 예외적으로 충돌이 발생할 것입니다. 델리게이트 메서드에서 값을 하드 코딩하지 말고 전체 개체 수 (전체 집합)를 가져 와서 그 개수를 반환하면됩니다.

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section    { 
    return [totalObjects count]; 

}

+0

하지만 처음 4 번 작동하는 이유는 무엇이며 5 번 작동은 중단됩니까? – gabboSonc

관련 문제