シミュレーターでどのように機能するかはよくわかりません(私が試してみたところ、元の質問にリストされているクラッシュが発生しました)。とにかく、あなたは以下の項目を見ることによってそれを修正することができます:
- 主な問題は、NIBがバンドルに含まれていなかったことです。プロジェクトターゲットの「バンドルリソースのコピー」に追加します。例:

「バンドルリソースのコピー」を表示しているときに、、、を含めSDSubCell.xib、SDGroupCell.xibそれらのPNGファイルもすべて追加する必要があります。
余談ですが、クラッシュの原因にはならないようですが、SDNestedTableViewNIBの「ファイル所有者」基本クラスは、このプロジェクトのどこにも存在しないクラスを指します。それは良いことではありません。SDMenuViewControllerとにかく、おそらくそれをまたはに変更したいと思うでしょうSDNestedTableViewController。

クラッシュとは少し関係ありませんが、プロジェクトを見ると、心配な構造があります。
SDMenuViewController *mvc = [[SDMenuViewController alloc] initWithNibName:@"SDNestedTableView" bundle:nil];
[menuView addSubview:mvc.view];
コントローラを作成し、そのビューを取得し、ビューコントローラをスコープから外して解放するか(ARCを使用している場合)、リークします(ARCを使用していない場合)。
addSubview元の質問から、新しいビューに移行する方法として行っているのか(これは本当に悪い習慣です)、ビューコントローラーの封じ込めを行っているのかは完全にはわかりませんでした。コードを見ると、コードにいくつかの呼び出しがありませんが、後者を実行しているように見えます。ビューコントローラの封じ込めについて読みたいと思うかもしれません。また、そのWWDC2011セッション102も確認してください。
allocとにかく、View Controller /init以降の上記の2行のコードaddSubviewは、非ARCプロジェクトでリークし(ARCにアクセスしたことがある場合はクラッシュします)、View階層がViewController階層と同期していません。私はあなたが望むかもしれないことを提案します:
SDMenuViewController *mvc = [[[SDMenuViewController alloc] initWithNibName:@"SDNestedTableView" bundle:nil] autorelease];
[self addChildViewController:mvc];
[mvc didMoveToParentViewController:self];
[menuView addSubview:mvc.view];
autoreleaseその最初の行に注意してください。
ビューコントローラの封じ込めは強力ですが、この基本的なハウスキーピングの一部を確実に実行する必要があります。
1つの最終更新:
このコードにはいくつかのバグがあることに気づきました。まず、inの使用は機能currentSectionしitem:setSubItem:forRowAtIndexPathません。最後のに基づいて設定していますexpandingItem。したがって、いずれかを展開する前に主要な項目の1つをクリックすると、プログラムがクラッシュします。おそらく最善の方法は、currentSection変数を完全に削除し、変数ではなくitem:setSubItem:forRowAtIndexPathを使用することです。item.cellIndexPath.rowcurrentSection
SDNestedTable残念ながら、この修正はより深刻な問題につながります。クラス自体にiOS6のバグがあるようです。これをiOS6で実行し、すべてのアイテムを展開し、下にスクロールしてから上にスクロールすると、によって返されたcellIndexPathプロパティの割り当てが解除される可能性があるため、プログラムがクラッシュします。iOS 6でゾンビをオンにすると、リリースされたことがわかります。元のバージョンをダウンロードしてみたところ、同じ問題が発生しました。問題は、inがプロパティとして定義されていることであるように見えます(つまり、iOSが独自の目的で作成したものが不要になったと判断した場合、iOSは、SDGroupItem *itemitem:setSubItem:forRowAtIndexPathcellIndexPathcellIndexPathSDGroupCellassignindexPathSDGroupCellassignこのリリースされたオブジェクトへの参照)。cellIndexPathのプロパティをSDGroupCellからassignに変更するだけretainで、このiOS6のバグはなくなります。この問題について開発者に通知しましたSDNestedTableが、この変更によりretain、iOS6でコードがクラッシュする問題が修正されます。
[編集:著者はSDNestedTableこの問題の私の評価に同意し、この問題は最新バージョンで修正されたと報告しています。-ロブ]
幸運をお祈りしています。