當我運行應用程序並選擇一行時,它將一些信息傳遞給EmployeeInfoPage並且工作正常。當我回擊,然後選擇相同的行。它在行tableController.empInfo = employee;上崩潰。我得到一個EXC_BAD_ACCESS錯誤當同一行被選中兩次時,UITableView崩潰
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
EmployeeInfoTableView *tableController = [[EmployeeInfoTableView alloc] init];
NSDictionary *employee = [[self.orderedSections valueForKey:[[[self.orderedSections allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)] objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row];
tableController.empInfo = employee;
[self.navigationController pushViewController:tableController animated:YES];
[tableController release];
}
這是EmployeeInfoTableView.h文件
@interface EmployeeInfoTableView : UITableViewController <UIActionSheetDelegate , MFMailComposeViewControllerDelegate, MFMessageComposeViewControllerDelegate>{
NSDictionary *empInfo;
NSString *currentPhoneNumber;
NSString *currentEmail;
UIActionSheet *callConfirm;
}
然後我用empInfo設置在tableview中的某些字段。
這是我的dealloc方法
- (void)dealloc{
[super dealloc];
[empInfo dealloc];
[currentEmail dealloc];
[currentPhoneNumber dealloc];
[callConfirm dealloc];
}
是我的錯誤監守我要釋放所有我的對象?
這是我從我的iPhone上得到的錯誤,我真的不知道該如何閱讀。
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xb001fb49
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x31798c98 objc_msgSend + 16
1 libobjc.A.dylib 0x317a24d2 objc_setProperty_non_gc + 62
2 libobjc.A.dylib 0x3179a040 objc_setProperty + 20
3 CorporateDirectory 0x0000e5f0 0x1000 + 54768
4 CorporateDirectory 0x00003ac2 0x1000 + 10946
5 UIKit 0x32cc3514 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 656
6 UIKit 0x32d270e4 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 124
7 Foundation 0x338266ce __NSFireDelayedPerform + 362
8 CoreFoundation 0x345f4a40 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 8
9 CoreFoundation 0x345f6ec4 __CFRunLoopDoTimer + 844
10 CoreFoundation 0x345f783e __CFRunLoopRun + 1082
11 CoreFoundation 0x34587ebc CFRunLoopRunSpecific + 224
12 CoreFoundation 0x34587dc4 CFRunLoopRunInMode + 52
13 GraphicsServices 0x322b2418 GSEventRunModal + 108
14 GraphicsServices 0x322b24c4 GSEventRun + 56
15 UIKit 0x32c9dd62 -[UIApplication _run] + 398
16 UIKit 0x32c9b800 UIApplicationMain + 664
17 CorporateDirectory 0x00002a52 0x1000 + 6738
18 CorporateDirectory 0x00002a10 0x1000 + 6672
Thread 1:
0 libsystem_kernel.dylib 0x339663ec __workq_kernreturn + 8
1 libsystem_c.dylib 0x3480f6d8 _pthread_wqthread + 592
2 libsystem_c.dylib 0x3480fbbc start_wqthread + 0
Thread 2 name: Dispatch queue: com.apple.libdispatch-manager
Thread 2:
0 libsystem_kernel.dylib 0x33966fbc kevent + 24
1 libdispatch.dylib 0x322df032 _dispatch_mgr_invoke + 706
2 libdispatch.dylib 0x322e003a _dispatch_queue_invoke + 86
3 libdispatch.dylib 0x322df5ea _dispatch_worker_thread2 + 186
4 libsystem_c.dylib 0x3480f58a _pthread_wqthread + 258
5 libsystem_c.dylib 0x3480fbbc start_wqthread + 0
Thread 3 name: WebThread
Thread 3:
0 libsystem_kernel.dylib 0x33963c00 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x33963758 mach_msg + 44
2 CoreFoundation 0x345f52b8 __CFRunLoopServiceMachPort + 88
3 CoreFoundation 0x345f7562 __CFRunLoopRun + 350
4 CoreFoundation 0x34587ebc CFRunLoopRunSpecific + 224
5 CoreFoundation 0x34587dc4 CFRunLoopRunInMode + 52
6 WebCore 0x3666927e _ZL12RunWebThreadPv + 382
7 libsystem_c.dylib 0x3480e30a _pthread_start + 242
8 libsystem_c.dylib 0x3480fbb4 thread_start + 0
Thread 0 crashed with ARM Thread State:
r0: 0x0016c020 r1: 0x32f63814 r2: 0x000000a8 r3: 0x0016c020
r4: 0xb001fb41 r5: 0x00000000 r6: 0x001eeca8 r7: 0x2fdfe8c4
r8: 0x00a1da00 r9: 0x0016c020 r10: 0x00000003 r11: 0x00161a50
ip: 0x00000000 sp: 0x2fdfe8a4 lr: 0x317a24d9 pc: 0x31798c98
CPSR:0x00000030
這是什麼'CorporateDirectory'類你的嗎? – Rog 2012-02-06 04:07:07