我有一个多视图应用程序,在ViewController
我添加了一些我希望能够从ViewController2
访问的代码。可以在ViewController2
中访问代码的目的是让我可以在ViewController
和ViewController.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>对象不是多个对象。
答案 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),我会选择委托。