txtsファイルからボタンテキストを使用してUIActionSheetを作成します。NSZombieEnabled、NSDebuEnabledをYESに設定し、NSDeallocateZombiesをNOに設定した後、次のメッセージを含むブレークポイントを取得します。
***-[CFString isEqual:]:割り当て解除されたインスタンス0x11fae00に送信されたメッセージ
これは、UIActionSheetをすぐにではなく、3回目または4回目に表示した後に発生します。これが発生したコードは次のとおりです。
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:NSLocalizedStringFromTable( @"text", @"class", @"text" )
delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil
otherButtonTitles:NSLocalizedStringFromTable( @"text1", @"class", @"text1" ),
NSLocalizedStringFromTable( @"text2", @"class", @"text2" ),
NSLocalizedStringFromTable( @"text3", @"class", @"text3" ), nil];
[actionSheet showFromTabBar:self.tabBarController.tabBar];
[actionSheet release];
NSDealocateZombiesを削除すると、シミュレーターでクラッシュは発生しなくなりますが、コンソールに警告が表示されます。
[CFString _cfTypeID]:割り当て解除されたインスタンスに送信されたメッセージ
あなたはそのような問題に遭遇しましたか?リソースから文字列を繰り返し取得するのは間違っていますか?最後の解決策として、私はそれらをメンバー変数に一度入れて、同じテキストに対するNSLocalizedStringFromTableへの別の呼び出しを回避することを考えていました。