在 Interface Builder 文件中接收错误 Unknown class PFImageView 进行解析

Posted

技术标签:

【中文标题】在 Interface Builder 文件中接收错误 Unknown class PFImageView 进行解析【英文标题】:receiving error Unknown class PFImageView in Interface Builder file for parse 【发布时间】:2013-07-21 02:32:32 【问题描述】:

我尝试通过以下方式设置 pfimage 视图故事板:

我拖动了一个 UIImageView,然后将其类标识更改为 PFImageView。

然后我拖动它在我的 .h 文件中创建一个插座。

@property (strong, nonatomic) IBOutlet PFImageView *BuyPetImage;

然后在加载类时,我访问与属性同名的 imageview 并设置其文件属性。

- (void)viewDidLoad 
    [super viewDidLoad];

    // Do any additional setup after loading the view.
    PFObject *petdataobj = [selectedPet objectForKey:@"petObject"];
    self.BuyPetNameLabel.text = [petdataobj objectForKey:@"Name"];
    self.BuyPetTypeLabel.text = [petdataobj objectForKey:@"Type"];

    self.BuyPetImage.file= [selectedPet objectForKey:@"imageFile"];
    [self.BuyPetImage loadInBackground];

当视图加载时,我收到以下错误:

Interface Builder 文件中的未知类 PFImageView。 -[UIImageView setFile:]: 无法识别的选择器发送到实例 0x1cdb52f0 * 由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'-[UIImageView setFile:]: unrecognized selector sent to instance 0x1cdb52f0'

有人知道为什么会这样吗?

【问题讨论】:

听起来好像 PFImageView.m 没有添加到目标(文件检查器中的“目标成员身份”复选框)。 pfimage 是框架的一部分。该框架已添加到目标中,并且其所有其他功能都可以正常工作。 好的,我刚刚注意到,如果您在 Interface Builder 中为对象设置自定义类并且该类在运行时不可用,因为 .m 文件尚未添加到目标。 @Atma 你找到解决方案了吗? 【参考方案1】:

“Interface Builder 文件中的未知类 PFImageView”

将以下内容添加到 AppDelegate 中的 applicationDidLaunch 会强制加载视图类,以便可以正确引用它

//在AppDelegate/applicationDidLaunch中添加:

[PFImageView 类];

//图片加载完美!!:)

【讨论】:

你如何在 swift 中做到这一点【参考方案2】:

我无法解决这个问题,所以我最终只是完全在代码中创建了 PFImageView。 Anypic project 中有几个这样的例子。我想弄清楚这个问题的原因以及如何解决它,但现在在代码中执行它可以让我绕过它。

【讨论】:

【参考方案3】:

如果我在 .m 文件中 alloc init PFImageView 它可以在不添加 [PFImageView 类] 的情况下工作;在 appDelegate 中

【讨论】:

您能详细说明一下吗?在文件中哪里添加这个语句

以上是关于在 Interface Builder 文件中接收错误 Unknown class PFImageView 进行解析的主要内容,如果未能解决你的问题,请参考以下文章