1

コードのどこかで、NSNumberをNSStringに割り当てることでいくつかの間違いをしました。

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

5.1シミュレーター(上)と4.3シミュレーター(下)のクラッシュ情報の比較

上記の時点でアプリがクラッシュした場合、5.1シミュレーターは、コード内のどの行がクラッシュを引き起こしたかについての特定の情報を表示しませんでした。しかし、4.3シミュレーターはそうしました!

この場合、4.3のように機能させるには、5.1シミュレーターでいくつかの設定を構成する必要がありますか?

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 に答える