在xcode中处理多个数据输入菜单最方便的方法

时间:2015-08-09 17:00:22

标签: ios xcode swift

我正在开发一个需要用户输入数据的ios应用程序。它通过多个视图收集(view1:textboxes,view2:switches,view3:personal data)

我想收集所有这些数据,并通过所有即将推出的视图访问它们。是否可以为三个视图使用1个viewcontroller,或者是否有更方便的方法将所有数据推送到视图中?

1 个答案:

答案 0 :(得分:1)

对不起,我没有看到Swift标签,我的不好,我会看看我是否可以翻译成Swift来帮助你,因为这对你来说看起来很陌生。

viewController1 =>存储一些数据

viewController2 =>由自定义init调用,如此

init(dataFromViewController1 : String, textBody1 : String, title1 : String) {
}

迅速,这是接近正确的

- (id)initWithString:(NSString*)dataFromViewController1 
           textBody1:(NSString*)textBodydataFromViewController1 
              title1:(NSString*)titledataFromViewController1  
           textBody2:(NSString*)textBodydataFromViewController2 
              title2:(NSString*)titledataFromViewController2

viewController3 =>由自定义init调用,如此

init(dataFromViewController1 : String, textBody1 : String, title1 : String, textBody2 : String, title2 : String) {
}
快速,接近右边:

- (id)initWithNibName:(NSString *)nibNameOrNil 
               bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self)
    {
    }
    return self;
}

- (id)initWithString:(NSString*)dataFromViewController1 
           textBody1:(NSString*)textBodydataFromViewController1 
              title1:(NSString*)titledataFromViewController1
{
    self = [super init];
    if (self) {
     }
    return self;
}
等等,等等,

在你的viewcontroller .m impelmentaiton文件中:

init(dataFromViewController1 : String, textBody1 : String, title1 : String, textBody2 : String, title2 : String) {
           self.dataFromViewController1 = dataFromViewController1
           self.textBody1 = textBody1
           self.title1 = title1
           self.textBody2 = textBody2
           self.title2 = title2
}

这是一种先进的转发方法,非常时尚,非常简单,不需要委托。我试图不惜一切代价避免代表团。当你的应用程序超过40K行代码时,你会希望你从未使用过自定义委派方法,而是选择使用自定义正向传输init方法。

使用快速的东西:

var aPrettyCat = aPrettyCat(dataFromViewController1 : "cat", textBody1 : "cheese", title1 : "donuts", textBody2 : "pickles", title2 : "brownies")

设置Swift内容:

home/jale% zgrep -i "Forward Challenge Curly WUT" *filename*