0
我把圖片放在支持文件中,爲什麼我通過NSBundle mainbudle得到nil?我應該把這些圖片放在哪個文件夾中嗎?或者我犯了其他錯誤?NSBundle pathForRes是零,我怎麼能得到路徑?
代碼:
- (void)startAnimating:(int)count andPictureName:(NSString *)picName {
if (self.imgViewCat.isAnimating) {
return;
}
NSMutableArray *arrayM = [NSMutableArray array];
for (int i = 0; i < count; i++) {
NSString *imgName = [NSString stringWithFormat:@"%@_%02d.jpg", picName,i];
//The first method UIImage *imgCat = [UIImage imageNamed:imgName];
//The second method
NSString *path = [[NSBundle mainBundle] pathForResource:imgName ofType:nil];
NSLog(@"%@",path);
UIImage *imgCat = [UIImage imageWithContentsOfFile:path];
[arrayM addObject:imgCat];
}
}
PS:第一種方法中,我使用//的UIImage * imgCat = [UIImage的imageNamed:imgName];它確實有效。但我想使用第二種方法。因爲NSBundle mainBundle可以管理內存,釋放內存。但第一種方法很強大,它會保留內存。
解決方案:resourcePath] stringByAppendingPathComponent:imgName
圖像試試這個的NSString *路徑= [[[一個NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:imgName]。 –
嗨。爲什麼你想要在主包中有圖像?最簡單的方法是將圖像放入'* .xcassets'文件夾中,稍後通過'[UIImage imageNamed:]''將其獲取。 –
在模擬器中運行它。記錄'[[NSBundle mainBundle] resourcePath]'。記錄'imgName'。看看最終的路徑。這是你的意思嗎?您的Mac上是否有位於該位置的文件? –