3

我设置了三个资产文件夹,一个名为 Images,其中包含应用程序图标和启动图像,一个名为 Puzzles,一个名为 ThumbPuzzle。

在模拟器上测试时,图像都加载正常,在设备上测试时,图像不加载,控制台出现以下错误。

mmap:无法分配内存

错误:CUICommonAssetStorage -initWithPath:在 /var/mobile/Applications/6DF65069-9ED2-4EE8-966A-5B63CBF36136/Puzzle Mania.app/Assets.car 找不到存储文件

我知道图像命名正确,因为我从目录中复制了它们的名称。我正在使用以下内容加载图像

- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    pm_PuzzleCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
    PM_Puzzle *puzzle = [self.frcPuzzles objectAtIndexPath:indexPath];
    cell.puzzle = puzzle;
    return cell;
}

以及 pm_PuzzleCell 中的以下内容

-(void) setPuzzle:(PM_Puzzle *)puzzle
{
    if(_puzzle != puzzle) {
        _puzzle = puzzle;
    }
    [self.imageView setImage:[UIImage imageNamed:[NSString stringWithFormat:@"Thumb%@", [puzzle puzzleImage]]]];
}
4

2 回答 2

1

应该xcassets是太大了。
或者更好的是,图像xcassets太大,xcode 无法加载。

mmap:无法分配内存

我删除xcasset了资源文件夹中的动态图像并且效果很好。

于 2014-01-13T20:03:51.983 回答
0

通过将资源导入项目,然后将它们导入资产目录,可以避免该问题。将它们直接导入目录不起作用

于 2014-03-11T13:39:45.357 回答