在IOS实用程序应用程序视图之间共享数据
我已经使用Xcode 4.2中的实用程序应用程序模板创建了一个非常基本的应用程序,其中我希望从FlipsideViewController中的滑块或文本字段中获得一个整数变量,该变量在MainViewController中可用 我已经在全局变量上搜索了一个小时,但找不到一个适合我具体情况的简单答案 请帮忙 (注意:我对IOS和objective C的开发非常陌生。尽可能多地为我隐瞒你的答案!) 非常感谢 下面是我的代码的基本版本,显示了我想要做的事情 FlipSideViewController.h在IOS实用程序应用程序视图之间共享数据,ios,global-variables,data-sharing,Ios,Global Variables,Data Sharing,我已经使用Xcode 4.2中的实用程序应用程序模板创建了一个非常基本的应用程序,其中我希望从FlipsideViewController中的滑块或文本字段中获得一个整数变量,该变量在MainViewController中可用 我已经在全局变量上搜索了一个小时,但找不到一个适合我具体情况的简单答案 请帮忙 (注意:我对IOS和objective C的开发非常陌生。尽可能多地为我隐瞒你的答案!) 非常感谢 下面是我的代码的基本版本,显示了我想要做的事情 FlipSideViewController
#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上调用方法
这里对委托设计模式有一个很好的解释:如果您发布一些代码,人们将更容易制定相关的答案。