2011-10-08 64 views
2

我有一個問題:我正在編程使用searchBar和tableView的應用程序。如何在沒有xcode的情況下在iPhone上進行調試? UISearchBar/DisplayController崩潰

當我點擊搜索欄時,一旦我點擊取消按鈕,或者刪除所有搜索詞並再次點擊tableView,我的應用程序崩潰,請鍵入一些字符串搜索。

當我在iOS模擬器中運行應用程序時,它在執行此操作時不會崩潰。

當我通過xcode在iPhone上運行應用程序時,它在執行此操作時不會崩潰。

我不太瞭解設備日誌,我想問問是否有任何方法可以找出發生了什麼問題,以及爲什麼在通過xcode執行時不會發生這種情況。請幫幫我!

PS:一是設備的日誌:(也許你們明白這一點)

something went wrong http://img804.imageshack.us/img804/4870/bugd.png

編輯:這裏是searchDisplayControllerDidEndSearch方法的代碼:

- (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller 
{  
    [self.navigationController setNavigationBarHidden:NO animated:YES]; 
    [UIView beginAnimations:@"DeactivateSearch" context:nil]; 
    [UIView setAnimationDuration:0.4]; 
    [self.attractionsTableView setFrame:CGRectMake(0, 43, 320, 362)]; 
    [UIView commitAnimations]; 


    NSFetchRequest *fetchRequest = [[self fetchedResultsController] fetchRequest]; 

    [fetchRequest setPredicate:nil]; 

    NSError *error = nil; 
    if (![[self fetchedResultsController] performFetch:&error]) { 
     // Handle error 
     NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
     abort(); 
    } 

    [self setSearchIsActive:NO]; 

    return; 
} 

UPDATE:搜索欄如果沒有輸入文字,則不會崩潰。所以只需激活searchBar並在不輸入作品的情況下將其停用即可。但只要我輸入一個字符,停用過程就會崩潰應用程序。

回答

0

我發現在我的定製單元之一,我發佈的東西往往因此當UISearchDisplayController被釋放的UITableView的搜索結果中的應用程序崩潰自己的答案..

0

尋找動畫回調問題。還有一個控制檯日誌,看看它。

+0

如何以及在哪裏? :) – Octoshape

+0

日誌在主辦單位有售。至於你的代碼,你是這樣寫的,所以真的想通了。用塊回叫可能會超過他們的呼叫者,需要將它們複製到堆中。 – zaph

+0

我對Objective-C非常陌生,所以我不明白動畫回調是什麼。我將編輯我的問題,並在其中添加searchDisplaycontrollerDidEndSearch函數,也許您可​​以看到問題所在。 – Octoshape

相關問題