Objective c 传递数据和授权

Objective c 传递数据和授权,objective-c,delegation,childviewcontroller,parentviewcontroller,Objective C,Delegation,Childviewcontroller,Parentviewcontroller,我有一个关于授权的问题。我对编程相当陌生,我刚刚管理了我的第一个练习项目,在这个项目中我使用了委托。它只是一个调用子视图控制器的父视图控制器,子视图控制器中有一个文本字段和一个按钮。我在文本字段中写了一些东西,按下按钮,子VC被解除,它将文本返回。然后,它将显示在父对象上的标签中。我有两个过渡动画。一切正常。以下是一些图片和代码: 这是我的父视图控制器: 单击按钮,将显示子项: 在文本字段中写入内容,然后按按钮将其传回: 数据显示在父视图控制器的标签上 以下是用于此的文件: ParentV

我有一个关于授权的问题。我对编程相当陌生,我刚刚管理了我的第一个练习项目,在这个项目中我使用了委托。它只是一个调用子视图控制器的父视图控制器,子视图控制器中有一个文本字段和一个按钮。我在文本字段中写了一些东西,按下按钮,子VC被解除,它将文本返回。然后,它将显示在父对象上的标签中。我有两个过渡动画。一切正常。以下是一些图片和代码:

这是我的父视图控制器:

单击按钮,将显示子项:

在文本字段中写入内容,然后按按钮将其传回:

数据显示在父视图控制器的标签上

以下是用于此的文件:

ParentViewController.h

#import <UIKit/UIKit.h>
#import "ChildViewController.h"

@interface ParentViewController : UIViewController <ChildViewControllerDelegate>

@property (strong, nonatomic) IBOutlet UILabel *label;

@end
#import <UIKit/UIKit.h>

@protocol ChildViewControllerDelegate <NSObject>

-(void)passDataBack:(NSString*)data;

@end

@interface ChildViewController : UIViewController
@property (strong, nonatomic) IBOutlet UITextField *txtfield;

@property (nonatomic, weak) id <ChildViewControllerDelegate> delegate;
- (IBAction)passingBack:(id)sender;

@property NSString *data;

@end
ChildViewController.h

#import <UIKit/UIKit.h>
#import "ChildViewController.h"

@interface ParentViewController : UIViewController <ChildViewControllerDelegate>

@property (strong, nonatomic) IBOutlet UILabel *label;

@end
#import <UIKit/UIKit.h>

@protocol ChildViewControllerDelegate <NSObject>

-(void)passDataBack:(NSString*)data;

@end

@interface ChildViewController : UIViewController
@property (strong, nonatomic) IBOutlet UITextField *txtfield;

@property (nonatomic, weak) id <ChildViewControllerDelegate> delegate;
- (IBAction)passingBack:(id)sender;

@property NSString *data;

@end
关于代码,有几件事我不确定,因为我知道我复制了很多代码等等。。。因此,例如,我不确定如何使用与在中设置其动画相同的方法设置子控制器的动画,或者它是否重要以及最佳实践是什么等等。。。此外,我在控制台中收到一条奇怪的消息:“Interface Builder文件中的未知类ViewController。”但它是有效的,所以我不确定它为什么会出现。作为记录,我没有使用故事板,只有XIB

但我的问题是:我希望使用按钮关闭子视图控制器(不是在子视图控制器中,而是在父视图控制器中),如下所示:

这就是我迷路的地方。我只是不知道如何触发从父视图控制器传回数据的方法。有人能帮忙吗?非常感谢