0

StackMob を介して Amazon S3 バケットからカスタム セルにロゴ画像を表示しようとしていますが、表示されません。画像への直接の URL パスを貼り付けると、うまくいきます。これを回避するにはどうすればよいですか。

NSManagedObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];

 CGRect imageFrame = CGRectMake(2, 2, 67, 67);

 self.customImage = [[UIImageView alloc] initWithFrame:imageFrame];

    NSURL* imageURL = [NSURL URLWithString:[object valueForKey:@"restoLogo"]];

    NSData *data = [[NSData alloc] initWithContentsOfURL:imageURL];

  UIImage *tmpImage = [[UIImage alloc] initWithData:data];

  self.customImage.image = tmpImage;
   [cell.contentView addSubview:self.customImage];

画像はこのパス [object valueForKey:@"restoLogo"] にあり、データの s3 URL を返すようになりました。

4

1 に答える 1

1

NSString のインスタンス メソッドを使用していない場合

stringByAddingPercentEscapesUsingEncoding:

それが問題になる可能性があります。

例えば

NSString *escapedString = [imgURLString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

次に、それを URL に変換して、そのまま続行します。

于 2013-03-25T21:30:17.957 に答える