从Parse.com将徽标图像加载到UIImage中

时间:2014-07-21 15:05:43

标签: ios xcode uiimage parse-platform

我正在尝试将徽标图片加载到UiImage中,徽标图片正在解析但不确定如何将其加载到viewcontroller中

.h文件

@property (weak, nonatomic) IBOutlet UIImageView *Logo;

.m文件

self.Logo.image = [self.exam objectForKey:@"Logo"];

它会抛出以下错误

- [PFFile size]:无法识别的选择器发送到实例

所以我必须使用PFfile,但不知道如何格式化我已搜索但大多数示例都有一个查询被调用,我不需要查询,因为数据已准备就绪

self.exam objectForKey:@"Logo"

现已添加

[self.exam objectForKey:@"Logo"];
self.Logo.image = [[UIImage alloc] initWithData: [self.exam objectForKey:@"Logo"]];

但是得到以下错误,图片是.png

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PFFile length]: unrecognized selector sent to instance

NSlog将文件显示为

Logo = "<PFFile: 0x111875190>";

2 个答案:

答案 0 :(得分:1)

[self.exam objectForKey:@"Logo"];

是班级PFFile但不是UIImage的实例。 你应该转换它。您可以尝试以下操作:

self.Logo.image = [[UIImage alloc] initWithData: [[self.exam objectForKey:@"Logo"] getData]];

答案 1 :(得分:0)

PFFileNSObject的子类,因此无法调用UIImage'length方法,导致您的NSInvalidArgumentException。

您应该使用PFImageView而不是UIImageView。

.h文件

@property (weak, nonatomic) IBOutlet PFImageView *Logo;

.m文件

self.Logo.file = [self.exam objectForKey:@"Logo"];
[self.Logo.loadInBackground];

也可以使用带有完成块的loadInBackground:方法。