在ViewControllers之间共享信息

时间:2015-09-28 09:37:55

标签: ios objective-c uiviewcontroller segue

我有一个多视图应用程序,在ViewController我添加了一些我希望能够从ViewController2访问的代码。可以在ViewController2中访问代码的目的是让我可以在ViewControllerViewController.h中运行它。我已将ViewController2文件导入#import <UIKit/UIKit.h> #import <AVFoundation/AVFoundation.h> #import "ViewController.h" @interface ViewController2 : UIViewController @property(nonatomic, readonly) NSUInteger tapCount; @property NSInteger numberOfLoops; @property(readonly) NSTimeInterval deviceCurrentTime; @property (strong, nonatomic) AVAudioPlayer *myPlayer; - (NSTimeInterval)timeIntervalSinceDate:dateTimePicker; - (BOOL)playAtTime:(NSTimeInterval)time; - (IBAction)iconsBtn:(id)sender; @end ,但我不确定如何在控制器之间共享数据。代码如下:

ViewController2.h

#import "ViewController2.h"
#import <AVFoundation/AVFoundation.h>
#import "ViewController.h"

@interface ViewController2 ()
{
    AVAudioPlayer *_myPlayer;
}
@end

@implementation ViewController2

- (void)viewDidLoad { //This is where I want to use the data
    [super viewDidLoad];

}

ViewController2.m

#import <UIKit/UIKit.h>
#import <AvFoundation/AVFoundation.h>

ViewController.h

#import "ViewController.h"

ViewController.m

ViewController.m

我该怎么办?最重要的是我可以使用Route::currentRouteName();

中的一个特定字符串

由于

修改

这与另一个不同,因为我特意询问如何做一些事情,因为另一个的答案更为笼统,而我正在问具体如何分享 one < / strong>对象不是多个对象。

2 个答案:

答案 0 :(得分:0)

你可以使用 segues 在viewcontrollers之间传输数据。

查看此link了解详情

首先,您需要将dateTimeString声明为.h文件中的属性(ViewController.h

然后你可以使用

调用segue
  [self performSegueWithIdentifier:@"your_segue_identifier_name" sender:self];

然后

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"your_segue_identifier_name"])
    {

    }
}

答案 1 :(得分:-1)

如果你想从一个呈现的视图控制器中使用一个属性(dateTimeString),我会选择委托。