簡體   English   中英

推送到Xcode中的隨機veiwcontroller?

[英]Pushing to a random veiwcontroller in Xcode?

第1部分

好吧,我對此很陌生,正在制作一個新的應用程序。 但是,我無法使自己產生隨機效果。 我想要的是在一個veiwcontroller上有一個按鈕,按下該按鈕時,您會在使用情節提要時將您隨機推到其他100個視圖控制器中的一個。 現在我在Storybaord上有100個veiwcontrollers,其中1個在家,並且上面有一個啟動按鈕,我想要它,因此當您按開始按鈕時,它將隨機轉到其他100個veiwcontrollers中的一個。 如我所說,我是新來的,任何幫助將不勝感激。 提前致謝!

第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”,與viewcontroller1相連,其余的是沒有被隔離,但是有各自的veiwcontroller類。 所以我被困住了,非常感謝您的幫助,並且樂意償還您的青睞。 提前致謝。

這樣做可能是無窮無盡的方式,其中某些方式可能更好或更壞,具體取決於應用程序的其余部分。

一種簡單的方法是創建視圖控制器類名稱的數組,然后使用隨機數生成器隨機選擇一個索引,然后實例化並加載該類。

.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];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM