画像が URL から読み込まれません。NSURL をログに記録すると、正しく表示されます
my.website.com/images/image1.png
しかし、ブレークポイントを設定すると、デバッガー コンソールに NSURL が次のように表示されます。
my.website.com/images/image1.png\x05\b
Web ブラウザーで json を確認しましたが、完全に有効です。文字列は「png」の「g」で終わります。
SDWebImage を使用して、テーブル セルの画像を非同期的に読み込みます。写真に使用される URL は、JSON をエンコードする php ファイルから取得されます。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
SpotsTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"SpotCell" forIndexPath:indexPath];
NSInteger row = indexPath.row;
if (self.spotDictionary)
{
NSDictionary* spot = (NSDictionary*)[self.spotDictionary objectForKey:[NSString stringWithFormat:@"%d", row]];
NSString* title = [spot objectForKey:@"Title"];
NSURL* imageURL = [NSURL URLWithString:(NSString*)[spot objectForKey:@"Image"]]; NSLog(@"%@", imageURL);
UIImage* placeholder = [UIImage imageNamed:@"placeholder.png"];
// See ~*~ below
NSURL* testURL = [NSURL URLWithString:@"http://www.hdwallpaperspot.com/wp-content/uploads/2013/08/Volvo-station-wagon-612pb.jpg"];
cell.nameLabel.text = title;
[cell.pictureView setImageWithURL:imageURL
placeholderImage:placeholder]; // SDWebImage category for UIImage
//breakpoint here
}
return cell;
}
~*~ SDWebImage が正しく動作していることを確認するために、ネットから画像を取得して一時的にライブラリをテストしたところ、見事に動作しました。"Image"
オブジェクトのクラスを確認しましたが、 _NSCFString
. (NSString*)
NSCFString と NSString の互換性に関する私の理解に誤りがある場合に備えて、キャストが追加されました。運がない。