我的数组长度是 32,歌曲是 28。 但我在 Thousend 中得到了数字 并且不满足如果.....([AlbumsAnsSongs sharedManager].movieNames 这是一个数组(。 任何帮助将不胜感激。
int number=0;
number=(int)[[AlbumsAnsSongs sharedManager].movieNames indexOfObject:song];
if (number< [AlbumsAnsSongs sharedManager].movieNamesPath.count)
{
[self metadata:[[AlbumsAnsSongs sharedManager].movieNamesPath objectAtIndex:number]];
}
在NSArray
文档中,您可以找到有关indexOfObject:
方法返回类型的以下信息:
如果数组中没有一个对象等于 anObject,则返回 NSNotFound。
因此,您正在谈论的大数字可能是NSNotFound
的值,其声明如下:
static const NSInteger NSNotFound = NSIntegerMax;
所以也许你的歌曲在数组中找不到,你的if块也没有被执行。检查NSNotFound
以查看真正出错的地方:
NSInteger number = [[AlbumsAnsSongs sharedManager].movieNames indexOfObject:song];
if (number != NSNotFound) {
if (number < [[AlbumsAnsSongs sharedManager].movieNamesPath.count {
[self metadata:[[AlbumsAnsSongs sharedManager].movieNamesPath objectAtIndex:number]];
} else {
NSLog(@"could not find path for song");
}
} else {
NSLog(@"could not find song");
}
您确定您的列表确实包含您要查找的歌曲吗?