Ios 在视图控制器之间共享信息
我有一个多视图应用程序,在Ios 在视图控制器之间共享信息,ios,objective-c,uiviewcontroller,segue,Ios,Objective C,Uiviewcontroller,Segue,我有一个多视图应用程序,在ViewController中添加了一些代码,我希望能够从ViewController2访问这些代码。可以在ViewController2中访问代码的目的是让它在那里以及ViewController中运行。我已经将ViewController.h文件导入到ViewController2中,但我不确定如何在控制器之间共享数据。代码如下: ViewController2.h #import <UIKit/UIKit.h> #import <AVFounda
ViewController
中添加了一些代码,我希望能够从ViewController2
访问这些代码。可以在ViewController2
中访问代码的目的是让它在那里以及ViewController
中运行。我已经将ViewController.h
文件导入到ViewController2
中,但我不确定如何在控制器之间共享数据。代码如下:
ViewController2.h
#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
我应该怎样做?最重要的是,我可以在ViewController.m
谢谢
编辑
这与另一个不同,因为我是特别问如何做一些事情,因为另一个的答案更一般,我是特别问如何共享一个对象而不是多个对象。如果要使用属性(dateTimeString)从显示的视图控制器中,我将使用委派。U可以使用分段在视图控制器之间传输数据 查看此项了解更多详细信息 首先,您需要在.h文件(
ViewController.h
)中将dateTimeString
声明为属性
然后您可以使用
[self performSegueWithIdentifier:@"your_segue_identifier_name" sender:self];
然后
这不是我解释的复制品!请解释是什么让你认为它是@dandan78这不是我解释的复制品!请解释是什么让你认为它是@AbizernIt,不管对象是什么或者你想用它做什么;这个问题也是一样的,苹果文档、任何像样的iOS教程,尤其是相关问题,都全面介绍了这个问题。如果您在实现上面显示的内容时遇到问题,那么您可以发布一个问题并请求调试帮助,但是“我有一个字符串/AVAudioPlayer,这个问题是关于数组的”,这并不会改变问题的基本性质。首先,请正确命名您的类。ViewController和ViewController2不是良好的obj-c编码约定。创建一个协议,该协议是ViewControllerDelegate,带有所需的委派方法,例如didSetDateString:(NSString*)dateTimeString。谢谢,但我将为我的视图控制器命名最适合我的名称,这是一个意见问题!你的粗鲁是完全没有道理的!顺便说一句,我不是那个让你失望的人。我不是故意粗鲁的。很抱歉,这就是第一点糟糕的编程所带来的后果。我很感激你现在尽力提供帮助,我也为此感谢你。请在投票时使用评论。
#import <UIKit/UIKit.h>
#import <AvFoundation/AVFoundation.h>
#import "ViewController.h"
[self performSegueWithIdentifier:@"your_segue_identifier_name" sender:self];
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"your_segue_identifier_name"])
{
}
}