0

次のコード スニペットは、iPad シミュレーターと iPhone シミュレーターを使用して正常に動作します。ただし、iPad 2で(iPhoneモードを使用して)実行すると、UIImageはnil(デバッグ中にチェック)です

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:@"flowerCell"];

    switch (indexPath.section) {
        case kRedSection:
            cell.textLabel.text=[self.redFlowers objectAtIndex:indexPath.row];
            break;

        case kBlueSection:
            cell.textLabel.text=[self.blueFlowers objectAtIndex:indexPath.row];
            break;

        default:
            cell.textLabel.text=nil;
    }

    NSString *img=[[NSString alloc] initWithFormat:@"%@%@", cell.textLabel.text, @".png"];

    UIImage *flowerImage=[UIImage imageNamed:img];

    cell.imageView.image=flowerImage;

    return cell;
}

これは、チュートリアル ブックから引用したビリーの基本的な iPhone の例であり、この問題が発生したのは初めてです。

4

2 に答える 2

2

イメージ名と正確に一致するようにしてください

画像名が「image.png」で、コード @「image.Png」に名前を書き込むと、これはシミュレーターでは正常に機能し、デバイスでは機能しません。

于 2012-10-03T14:43:24.677 に答える
1

ファイル名の大文字化ではない場合、画像が欠落していると思います。

シミュレーターは、リソースをキャッシュすることによって問題を隠している可能性があります。シミュレーターからアプリを削除し、クリーンアップして再度実行すると、シミュレーターでも同じ問題が発生する可能性があります。

ターゲットのビルド設定を確認し、イメージがリソース内にあるかどうかを確認してください。

于 2012-11-27T04:21:00.263 に答える