iPhoneアプリ作成中です。
plistを呼び出す際に、タップした画像ごとに別のplistを呼び出させて、plistの中身をtableViewで
表示させようとしています。条件と手順は以下の通りです。

・画像(名前:photo01〜10)と、plist(名前:photo01〜10)を用意します。
・画像photo01〜10は、Aisatuクラスにコレクションビューで並べてあります。
・タップした画像の名前を取得して、取得した画像の名前と同じ名前の
 plistを呼び出そうとしています。

そこで、

// 上のクラス(Aisatuクラス)のインスタンスを取得する
NSUInteger idx = [[self.navigationController viewControllers] indexOfObject: self] - 1;
Aisatu *masterVC = [[self.navigationController viewControllers] objectAtIndex: idx];


// タップした画像のインデックスを算出する※detailItemの型はid型です。
NSUInteger nextImageIdx = [masterVC.photos[0] indexOfObject: self.detailItem];

NSString *st=[[NSString alloc] initWithFormat:@"%lu",(unsigned long)nextImageIdx];


NSString* dataFile = [[NSBundle mainBundle]pathForResource:st
                                                    ofType:@"plist"];
arrayList = [NSArray arrayWithContentsOfFile:dataFile];

と書いてみたのですが、うまくいきません。

NSUInteger nextImageIdx = [masterVC.photos[0] indexOfObject: self.detailItem];
のところがうまくいっていないようなのですが、原因がわかりません。

どのようにすれば良いのかご教示いただけないでしょうか。
以上、何卒よろしくお願いいたします。