1

在我的代码中,我通过将 NSNumber 分配给 NSString 犯了一些错误:

self.totalLikesLabel.text=[user objectForKey:@"totalLikes"];

5.1 Simulator(上)和 4.3 Simulator(下)的崩溃信息比较

当应用程序在上述点崩溃时,5.1 Simulator 没有显示我的代码中哪些行导致崩溃的具体信息。但是,4.3 模拟器做到了!

在这种情况下,我是否必须在 5.1 模拟器中配置一些设置才能让它像 4.3 一样工作?

4

2 回答 2

1
1.Go to the breakpoint navigator (left navigation panel 6th one from the left).
2. Click the "+" button at the bottom
3. Select Exception Breakpoint
4. Leave Exception Breakpoint checked
5. In the Exception: field select "Objective-C"
6. In the Break: field select "On Throw"
7. Leave Action: alone (unless you want it to do something)
8. Leave Option: **unchecked**
9. Click "Done"

这应该让你看到比 SIGABRT 多一点的东西。

于 2012-07-24T13:22:33.473 回答
0

使用 5.1 模拟器可以获得什么?

为了防止此类运行时错误,您可以@try {} @catch {}在分配之前将其封装或检查对象:

id s = [user objectForKey:@"totalLikes"];

if ([s isKindOfClass [NSString class]]) ...
于 2012-07-24T13:01:17.720 回答