【发布时间】:2014-01-30 13:57:57
【问题描述】:
在 Xcode 5.0.2 中
- 我为 iPhone 创建了a blank single view app,
- 然后将“male.png”图片添加到项目中,
- 将 UIImageView 拖到情节提要
-
最后将以下代码添加到
viewDidLoad:_imageView.image = [UIImage imageNamed:@"male.png"];
这很好用:
然后我添加来自JMImageCache project的4个文件并将ViewController.m更改为:
#import "ViewController.h"
#import "JMImageCache.h"
static NSString* const kAvatar = @"http://gravatar.com/avatar/55b3816622d935e50098bb44c17663bc.png";
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[_imageView setImageWithURL:[NSURL URLWithString:kAvatar]
placeholder:[UIImage imageNamed:@"male.png"]];
}
@end
不幸的是,这会导致app crash 出现错误消息Thread 1: EXC_BAD_ACCESS:
his webpageJake Marsh(JMImageCache 的作者)备注:
JMImageCache 有目的地使用 NSString 对象而不是 NSURL 来使事情变得更容易,并在任何地方减少 [NSURL URLWithString:@"..."] 位。如果您看到任何奇怪的 EXC_BAD_ACCESS 异常,请注意一些事项,请确保您传递的是 NSString 而不是 NSURL。
但是(作为 iOS 编程新手)我不明白,Marsh 先生到底是什么意思 - 因为他的文件 UIImageView+JMImageCache.m 将公共方法的第一个参数声明为 NSURL:
- (void) setImageWithURL:(NSURL *)url placeholder:(UIImage *)placeholderImage {
[self setImageWithURL:url key:nil placeholder:placeholderImage];
}
笔记是否可能已过时,我该如何修复我的应用程序?
【问题讨论】:
标签: ios iphone objective-c ipad uiimageview