我在XCode上创建了一个包含设置条件按钮(即“播放到30”,“播放到20”等)的菜单的游戏。我想让这些按钮创建一个与我的游戏相同的ViewController
,唯一的区别是游戏结束前必须达到多少点。对于每个设置而言,相同的ViewController
的倍数效率太低。有没有解决的办法?使用不同的按钮来访问相同的ViewController
回答
在您的游戏视图控制器为使创建自定义的初始化:
// add in GameViewController.m
@implementation GameViewController
-(id)initWithLimit:(int)limit {
self = [super initWithNibName:@"NibName" bundle:nil];
if (self) {
_limit = limit;
}
return self;
}
// add in GameViewController.h
@interface GameViewController : UIViewController
@property (nonatomic) int limit;
@end
执行菜单的按钮动作像这样:
-(IBAction)play30 {
GameViewController *game = [[GameViewController alloc] initWithLimit:30];
// Handle game view here.
}
这个答案假定您创建GameViewController时的新实例用户点击按钮。 如果你不希望每个按钮录音,那么你可以创建你的菜单视图控制器GameViewController属性,并使用延迟实例为游戏视图控制器的时间来实例化一个新的ViewControllerSubclass:
- (GameViewController *)game {
if (!_game) _game = ...;
return _game;
}
-(IBAction)play20 {
// Assuming game is a property.
self.game.limit = 20;
// Perform setup that expects the limit property to be set.
[self.game setup];
// Handle game view here.
}
希望这有助于:)
有没有办法做到这一点没有nib文件?当我创建我的项目时,我决定取消选择该选项。 @Benjamin – user2480376
是的,只需将自定义初始化程序添加到游戏视图控制器中,但使用self = [super init];相反,其余的是相同的,如果你想我可以发布另一个解释更深入的答案。 –
我想我明白了。谢谢! – user2480376
- 1. 更改为不同的VIewController按钮按
- 2. 使用相同的toString()来访问不同的子类变量
- 3. 使用的viewController打开相同的viewController
- 4. iOS:如何使用相同的Popover ViewController来控制两个单独的按钮
- 5. 我可以使用不同的按钮来调用相同的操作?
- 6. 具有相同ID的不同按钮
- 7. 在不同的Tkinter框架中使用相同的按钮
- 8. 你可以为不同的按钮使用相同的OnClickListener吗?
- 9. UINavigationController - 相同的viewController
- 10. Swift3,如何在不同的viewController中使用相同的UITableView
- 11. 访问2010年 - 相同的报告,不同的记录来源
- 12. 如何使用相同的按钮相同的模板
- 13. 如何从不同的表单访问按钮按钮? C#
- 14. 使用不同按钮的相同部分视图
- 15. 多次使用相同的按钮
- 16. 允许不同的按钮访问使用从jTable获取的变量的类的相同实例
- 17. 使用相同的客户端访问相同的Web服务
- 18. 使用“亲爱的imgui”相同的按钮文本的按钮
- 19. 不同的按钮,但相同的AJAX调用块上的UI
- 20. 在jquery中访问具有相同名称的单选按钮
- 21. 5个按钮访问相同的启动脚本
- 22. Asp.net相同的按钮来编辑和使用jQuery
- 23. 通过相同的按钮
- 24. 不能让我的按钮看起来在不同的浏览器相同
- 25. 如何从不同的TabBar项目调用相同的ViewController?
- 26. 使按钮调用相同按钮的方法
- 27. 如何在相同的viewController
- 28. 访问不同的URL,同时显示相同的URL
- 29. 使用同一页面上的按钮访问php脚本?
- 30. 如何在使用UIPanGestureRecognizer的同一个按钮时访问uibutton
如果您继续使用新的视图控制器,则会创建一个实例 - 如果您返回,则会取消分配此视图控制器。 – JDS