2010-11-01 52 views
0

我正在开发一个用于iPhone的rss阅读器,并且我有一个NSDictionary列表,其中包含网站名称和url。当我点击DetailDisclosureButton时,它会将我带到另一个网站的提要(我没有实现xlm解析器,所以它只是给我带来了屏幕)。这个问题出现在5次我的应用程序崩溃之后,并且它不会在日志中显示任何消息。iPhone应用程序在浏览时崩溃

我不知道发生了什么,可能会导致这样的错误?

谢谢!

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath 
// Gets the site; 
NSDictionary *site = [sites objectAtIndex:indexPath.row]; 

// instantiate a view to see the unread news. 
ViewUnreadController *uController = [[ViewUnreadController alloc] init]; 

uController.title = [site objectForKey:@"site"]; 
uController.site = site; 

// adds the view to NavigationControllers stack (just adds a back button) 
[self pushView:uController withBackTitle:@"Signatures"]; 

[site release]; 
[uController release]; 

而我使用iPhone模拟器4.0的附加信息。

+0

导致错误的原因是您的应用程序中存在一个错误。正确的解决方案是修复错误,然后你的应用程序不会再崩溃(假设它是唯一的)。 – JeremyP 2010-11-01 15:15:17

+0

上面的“答案”可能看起来不是很有帮助,但它的含义与任何人都可以得到的一样,除非您发布崩溃的代码,并且可能包含错误消息和堆栈跟踪的控制台日志输出。 – JeremyP 2010-11-01 15:16:45

回答

1

哈!我意识到我正在发布“站点”变量(不保留它),因为它指向一个NSMutableArray中的对象,引用计数达到零!

0

当然你是over-releasing/under-retainig东西。但没有看到你的代码,没有人能够告诉更多。

NSZombieEnabled可能给你一些有用的信息

0

好了,你还没有真正给我们的任何信息,所以它可能是一个事物的数量巨大。剖析你的应用程序,在这里发布崩溃日志作为你问题的更新。这是在模拟器还是设备上看到的?你正在使用模拟器中的哪个设备或哪些设置?

随意猜测,也许你每次都在制作新的UIControllers和views,而且内存不足。但是这只是一个黑暗中的目标,你没有告诉我目标是在哪里,或者它是否在那里。