Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在视图控制器之间共享信息_Ios_Objective C_Uiviewcontroller_Segue - Fatal编程技术网

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"])
    {

    }
}