在IOS实用程序应用程序视图之间共享数据

在IOS实用程序应用程序视图之间共享数据,ios,global-variables,data-sharing,Ios,Global Variables,Data Sharing,我已经使用Xcode 4.2中的实用程序应用程序模板创建了一个非常基本的应用程序,其中我希望从FlipsideViewController中的滑块或文本字段中获得一个整数变量,该变量在MainViewController中可用 我已经在全局变量上搜索了一个小时,但找不到一个适合我具体情况的简单答案 请帮忙 (注意:我对IOS和objective C的开发非常陌生。尽可能多地为我隐瞒你的答案!) 非常感谢 下面是我的代码的基本版本,显示了我想要做的事情 FlipSideViewController

我已经使用Xcode 4.2中的实用程序应用程序模板创建了一个非常基本的应用程序,其中我希望从FlipsideViewController中的滑块或文本字段中获得一个整数变量,该变量在MainViewController中可用

我已经在全局变量上搜索了一个小时,但找不到一个适合我具体情况的简单答案

请帮忙

(注意:我对IOS和objective C的开发非常陌生。尽可能多地为我隐瞒你的答案!)

非常感谢

下面是我的代码的基本版本,显示了我想要做的事情

FlipSideViewController.h

#import <UIKit/UIKit.h>

@class FlipsideViewController;

@protocol FlipsideViewControllerDelegate
- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller;
@end

@interface FlipsideViewController : UIViewController

@property (weak, nonatomic) id <FlipsideViewControllerDelegate> delegate;

- (IBAction)done:(id)sender;
- (IBAction)sliderChange:(id)sender;
@property (weak, nonatomic) IBOutlet UILabel *sliderValueOnFlipside;

@end
#import "FlipsideViewController.h"

@interface MainViewController : UIViewController <FlipsideViewControllerDelegate>

- (IBAction)showInfo:(id)sender;
@property (weak, nonatomic) IBOutlet UILabel *sliderValueOnMain;

@end
MainViewController.h

#import <UIKit/UIKit.h>

@class FlipsideViewController;

@protocol FlipsideViewControllerDelegate
- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller;
@end

@interface FlipsideViewController : UIViewController

@property (weak, nonatomic) id <FlipsideViewControllerDelegate> delegate;

- (IBAction)done:(id)sender;
- (IBAction)sliderChange:(id)sender;
@property (weak, nonatomic) IBOutlet UILabel *sliderValueOnFlipside;

@end
#import "FlipsideViewController.h"

@interface MainViewController : UIViewController <FlipsideViewControllerDelegate>

- (IBAction)showInfo:(id)sender;
@property (weak, nonatomic) IBOutlet UILabel *sliderValueOnMain;

@end

我可以很容易地将滑块的值显示在反面视图上,但是我也希望该值显示在主视图上。

在有礼貌的编程圈中,全局变量通常是不受欢迎的

如果希望MainViewController中的方法对FlipsideViewController中的状态更改做出反应,则可以将MVC设置为FVC的代理,并在值更改时让FVC在MVC上调用方法


这里对委托设计模式有一个很好的解释:

如果您发布一些代码,人们将更容易制定相关的答案。