2011-02-08 5 views
0

내 응용 프로그램에서 행 또는 선택한 행에서 사용자 탭으로 행 인덱스를 가져 오는 중입니다. 그러나 행을 두 번 탭하면 내 앱이 다운됩니다.내 iPhone 앱이 충돌하는 원인이 여러 번 나타나는 이유는 무엇입니까?

이 문제의 원인은 무엇이고 어떻게 해결할 수 있습니까? 사용중인 코드는 다음과 같습니다.

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    abc *xyz = [[abc alloc] init]; 
    dcs = [allHadits objectAtIndex:indexPath.row]; 
    hk = dcs.kokid; 
    [dcs release]; 
} 
+0

오류 보고서가 무엇인가요? – KingofBliss

답변

2

동일한 행을 두 번 두드리면 충돌이 발생합니까? 그렇다면 [dcs release] 일 수 있습니다. 나는 dcs가 무엇인지 모르겠다. (xyz가 아니면) 배열의 객체를 가리키는 포인터를 잡아서 배열에 객체를 놓아 두었을 때 다음에 행이 충돌한다. . [dcs release]을 삭제하고 여전히 충돌하는지 확인합니다. 내 기억 관리가 가장 좋지는 않지만 잘못 될 수 있습니다.

+0

이것은 올바른 대답 일 가능성이 높습니다. [dcs 릴리스]는 논리적으로 잘못되었습니다. 배열에서 dcs를 제거하려는 의도가있는 경우 [allHadits removeObjectAtIndex : indexPath.row]가 올바른 기술이며 host 테이블보기에서 reloadData가 호출됩니다. –

+0

dcs는 객체입니다. 릴리스하는 주석이 있습니다. 지금은 그 작업이 대단히 감사합니다.하지만 우리가 releas objct를 사용하지 않았다면 문제가 될지 말 것인가? 메모리 관리의 용어로 – Haseeb

+0

dcs가 객체입니다. 릴리스하는 주석이 있습니다. 현재는 작동하는 것이 너무 많이 감사하지만, 우리가 releas objct를 사용하지 않았다면 문제가 될지 말 것인가 ??? 메모리 관리의 측면에서 – Haseeb

0

dcs를 해제하지 마십시오. 왜 변수 이름이 그렇게 잘못 되었습니까?

+0

를주고 또한 나에게 또 다른 문제를 줄 것을 쌓아 올리기 위해 새로운 것이다 :) http://stackoverflow.com/questions/4929960/table-reloaddata-not-working – Haseeb

+0

hahah 그 생각을 위해 :) – Haseeb

+0

지금은 문제가 해결되었지만 메모리 관리 용어로 모든 문제가 생길 것입니다. – Haseeb

관련 문제