2013-03-01 36 views
0

我在使用依赖注入框架“Objection”动态更改我的xib文件所有者。如果你不知道异议只是明白,我只是想动态改变我的xib文件的所有者。XIB异议中的依赖注入

让我拿一个例子。
当我开始我的应用我绑定类 “MainMenuBlue” 的类 “的MainMenu”

[自我bindBlock的分配:^(JSObjectionInjector *上下文){
                return [[MainMenuBlue alloc] init] autorelease];
} toClass:[MainMenu class]];

基于我的配置我有时将其绑定到“MainMenuRed”或“MainMenuYellow”等等

的问题显然是,我的厦门国际银行文件的所有者是“MainMenu的”,所以它创造“的MainMenu” 。
奇怪是不是? :-)
你知道一种将xib链接到良好控制器的方法吗? 不复制MainMenu.xib到MainMenuBlue.xib,MainMenuRed.xib,MainMenuYellow.xib

我相信使用厦门国际银行文件,所以我将不得不继续从界面生成器离开这将是不可能的......

重要:
这只是一个例子来说明我的需要。当然,实际上我不仅改变背景颜色。

编辑:
感谢贾斯珀布鲁斯我找到了。其实我创造了一个不是真正的问题。
基于我的配置我只需要做:

[MainMenuBlue页头] initWithNibName:@ “MainMenu的” 捆绑:无]。

[[MainMenuRed的alloc] initWithNibName:@ “的MainMenu” 束:无];



马丁Magakian

回答

1

这并不重要文件的所有者,只要它响应相同的消息在运行时提供的类指定什么课。即文件的所有者只是作为一个接口来连接你的连接。

当你做你的绑定时,一定要使用initWithNibName:bundle:

+0

Jasper Blues谢谢。 我只需要创建对象: [[MainMenuBlue alloc] initWithNibName:@“MainMenu”bundle:nil];在一种情况下或[[MainMenuRed alloc] initWithNibName:@“MainMenu”bundle:nil];在另一种情况下。 – 2013-03-01 10:41:07