第1部分
好吧,我对此很陌生,正在开发一款新应用。但是我无法让我产生随机效果。我想要的是在一个veiwcontroller我有一个按钮,当按下它时,它会推送你到100个其他视图控制器之一但随机,同时使用故事板。现在我在故事中有100个veiw控制器,其中一个在家,并且有一个启动按钮,我想要它,所以当你按下开始按钮时,它将随机地转到其他100个veiw控制器中的一个。任何帮助将不胜感激,因为我说我是新手。先谢谢!
第2部分
现在它开始变得有意义,但就像我说我是新手一样。我提供了一个测试代码的图像,我看看它是否有效,但是当我运行它并按下按钮时它就会冻结。 我的.m文件:
#import "StartPage.h"
#import "ViewController1.h"
#import "ViewController2.h"
#import "ViewController3.h"
#import "ViewController4.h"
@interface StartPage ()
@end
@implementation StartPage
- (IBAction)randomButton
{
NSArray *viewControllerList; {
NSString *ViewController1 = ViewController1;
NSString *ViewController2 = ViewController2;
NSString *ViewController3 = ViewController3;
NSString *ViewController4 = ViewController4;
}
NSString *randomViewControllerClassName = viewControllerList[arc4random() % 99];
UIViewController *randomVC = [[NSClassFromString(randomViewControllerClassName) alloc] init];
[self presentViewController:randomVC animated:YES completion:nil];
}
我的.h文件:
#import <UIKit/UIKit.h>
@interface StartPage : UIViewController
- (IBAction) randomButton;
@end
我的故事板上有一个导航控制器和5个其他视图控制器,在第一个视图控制器上我有一个按钮,这是我的.h和.m中的“randomButton”,它是segue到viewcontroller1,并且其余的都没有被激活,但有各自的veiwcontroller类。所以我被困住了,我真的很感谢你帮助我,并且会帮助我回报。谢谢你提前。
答案 0 :(得分:0)
这可能是无休止的方式,其中一些会更好或更差,具体取决于你的应用程序的其余部分。
一种简单的方法是创建一个视图控制器类名数组,然后使用随机数生成器随机选择一个索引,然后实例化并加载该类。
的.m
@interface StartPage()
@property (strong, nonatomic) NSArray *viewControllerList;
@end
@implementation StartPage
- (id)init {
if ((self = [super init])) {
self.viewControllerList = [@"BobViewController", @"TomViewController", ..., @"OneHundrethViewController"];
}
return self;
}
- (IBAction)buttonTapped {
NSString *randomViewControllerClassName = viewControllerList[arc4random() % 99];
UIViewController *randomVC = [[NSClassFromString(randomViewControllerClassName) alloc] init]
[self presentViewController:randomVC animated:YES completion:nil];
}