2011-06-10 44 views
0

編輯 -
我不小心合成parentViewController
編輯/
dismissModalViewControllerAnimated:凍結的應用程序,而不是崩潰

這是工作,現在不,我不認爲我有在代碼中做了任何會影響這種行爲的東西。
這是我在做什麼:
我有一個視圖和相關的視圖控制器,稱爲NewAssetViewController。 NewAssetViewController的觀點有UITextField小號and UITextView個混合:
enter image description here
當我點擊UITextView我收到的委託方法textViewShouldBeginEditing: 在這種方法給你我customController觀點稱爲MultiPicker

[self presentModalViewController:multiPicker animated:YES]; 

如果用戶選擇這個接口上的一個按鈕或者取消,或者返回一個選擇的值,我只會使用cancel方法,因爲它的行爲方式相同,並且沒有任何額外的代碼。

multipicker的取消方法:

-(IBAction)cancel:(id)sender 
{ 
//close returning nothing... 
    [delegate multiPickerDidCancel:self]; 
} 

這就要求NewAssetControllermultiPickerDidCancel:方法:在這一點上,現在它凍結

-(void)multiPickerDidCancel:(MultiPicker *)aMultiPicker 
{ 
    [self dismissModalViewControllerAnimated:YES]; 
    [aMultiPicker reset]; 

} 

,不會崩潰,如果我暫停調試器,這是跟蹤看起來是什麼樣的:
enter image description here
用上面的框代表一些組件:

0x00ec121e <+0317> mov %eax,%edi 
0x00ec1220 <+0319> jmp 0xec11bb <-[UIViewController dismissModalViewControllerWithTransition:]+218> 
0x00ec1222 <+0321> mov 0x4e446b(%ebx),%eax 
0x00ec1228 <+0327> mov %eax,0x4(%esp) 
0x00ec122c <+0331> mov %edi,(%esp) 
0x00ec122f <+0334> call 0x128e98a <dyld_stub_objc_msgSend> 
0x00ec1234 <+0339> mov %eax,-0x1c(%ebp) 
0x00ec1237 <+0342> mov 0x4e1bcb(%ebx),%edx 
0x00ec123d <+0348> mov %edx,0x4(%esp) 
0x00ec1241 <+0352> mov %esi,(%esp) 
0x00ec1244 <+0355> call 0x128e98a <dyld_stub_objc_msgSend> 
0x00ec1249 <+0360> cmpl $0x3,-0x20(%ebp) 
0x00ec124d <+0364> jne 0xec1277 <-[UIViewController dismissModalViewControllerWithTransition:]+406> 
0x00ec124f <+0366> mov 0x4e295f(%ebx),%eax 
0x00ec1255 <+0372> mov %eax,0x4(%esp) 
0x00ec1259 <+0376> mov %edi,(%esp) 
+0

我剛剛創建了一個測試項目,也做了同樣的,和一切工作,所以我懷疑,也許它與該選擇器你有做模態視圖控制器。嘗試創建一個真正基本的Modal視圖控制器(比方說,只有一個按鈕),看看會發生什麼。 – Idan 2011-06-10 20:57:10

+0

我想我有意外地合成了parentViewController ......該死的文本完成。 – 2011-06-10 21:44:02

回答

0

我不小心合成parentViewController,不是我的一天......

相關問題