1

UIView使用情节提要编辑器在视图控制器的主视图中创建了一个内部视图,并将其类更改为FBProfilePictureView.

在此处输入图像描述

我创建了一个插座:

@property (weak, nonatomic) IBOutlet FBProfilePictureView *userImage;

但是,当我在代码中引用该userImage对象时,它会将自己报告为 UIView。

NSLog(@"userImage class: %@", [userImage class]);

产生:

2012-08-28 17:52:22.196 FBTestApp[6230:707] userImage class: UIView

我错过了什么?

4

3 回答 3

5

虽然我没有看到FB docs中提到的错误,但添加:

[FBProfilePictureView class];

到 applicationDidFinishLaunching 成功了。大概是一些运行时魔法。

于 2012-08-29T02:09:06.463 回答
0

[userImage class]除了调用类方法,我不会依赖任何东西。如果您需要确保userImage是正确的类型,请使用[userImage isKindOfClass:[FBProfilePictureView class]]. 它会让您知道您是否可以将对象视为 FBProfilePictureView。

于 2012-08-29T02:22:54.130 回答
0

解决此问题的一种更优雅的方法可能是添加 -ObjC 链接器标志,而不是执行这种“运行时魔法”的东西。在这里您可以找到有关如何添加标志的说明!

请参阅SDK 文档,其中说:

Note: If you've added the -ObjC flag to your linker options, then you don't have to add this code. Adding that flag causes the linker to load all the object files in the Facebook SDK, including the FBLoginView class. If you want to know more about what the -ObjC flag does, you can check out our troubleshooting guide.

它提到了 FBLoginView,但根据这个问题的答案,它也适用于 FBProfilePictureView:FBProfilePictureView 对象不会显示图像

希望这可以帮助。

于 2014-06-07T09:32:33.607 回答