我想通过静态库中的一些代码从CFBundle加载XIB。
示例:
MyViewController * foo = [[Static Library] instance] getMyViewController];
所以我在CFBundle中有一个MyViewController .xib我手动创建,在它的资源目录中。
但是如果我尝试通过[[MyViewController alloc] initWithNibName:@MyViewController“bundle:MyBundlePointer]在getMyViewController中加载它,我得到NSInternalInconsistencyException。
有什么想法吗?我或多或少地对这一点感到难过。不确定甚至可以做到这一点。
答案 0 :(得分:0)
我目前与Monotouch存在完全相同的问题,这就是我找到你的问题的原因。 我和你一样得到了同样的例外。这使我假设我没有遇到Monotouch问题,而是XIB / Cocoatouch的基本(错误)行为。
所以答案是:不,这是不可能的。虽然很伤心。
勒
答案 1 :(得分:0)
这可能不是您的具体问题,但可能存在问题:
CFBundle与NSBundle没有免费桥接。既然你在你的描述中使用了CFBundle一词,我想知道你是否通过CFBundle而不是NSBundle。
这是两种不同的类型,您需要显式创建一个NSBundle实例,因为您不能像使用CF / NS-String,Array,Data等那样只将CFBundleRef转换为NSBundle。