通过静态库从Custom Bundle加载XIB

时间:2011-01-03 17:57:11

标签: iphone static-libraries nsbundle

我想通过静态库中的一些代码从CFBundle加载XIB。

示例:

MyViewController * foo = [[Static Library] instance] getMyViewController];

所以我在CFBundle中有一个MyViewController .xib我手动创建,在它的资源目录中。

但是如果我尝试通过[[MyViewController alloc] initWithNibName:@MyViewController“bundle:MyBundlePointer]在getMyViewController中加载它,我得到NSInternalInconsistencyException。

有什么想法吗?我或多或少地对这一点感到难过。不确定甚至可以做到这一点。

2 个答案:

答案 0 :(得分:0)

我目前与Monotouch存在完全相同的问题,这就是我找到你的问题的原因。 我和你一样得到了同样的例外。这使我假设我没有遇到Monotouch问题,而是XIB / Cocoatouch的基本(错误)行为。

所以答案是:不,这是不可能的。虽然很伤心。

答案 1 :(得分:0)

这可能不是您的具体问题,但可能存在问题:

CFBundle与NSBundle没有免费桥接。既然你在你的描述中使用了CFBundle一词,我想知道你是否通过CFBundle而不是NSBundle。

这是两种不同的类型,您需要显式创建一个NSBundle实例,因为您不能像使用CF / NS-String,Array,Data等那样只将CFBundleRef转换为NSBundle。