HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何从子级到父级创建委派(subview-superview)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我之前和代表团合作过.我知道如何创建从superview到子视图类的委托.但是,我试图用相反的方式使用相同的方法,但它不起作用!委托只是为了单向工作,还是有办法/技巧将它用作类之间的双向沟通​​?我在父/ superview .h类中收到错误,它是:

我的代码是这样的
subview.h

#import <UIKit/UIKit.h>

#import "SuperViewController.h"

@protocol SubViewControllerDelegate <NSObject>

    - (void)someMethod:(NSData *)data;

@end

@interface SubViewController : UIViewController 

@property (weak,nonatomiC) id <SubViewControllerDelegate> delegate;

@end

subview.m:

[self.delegate someMethod:data];

SuperView.h

#import <UIKit/UIKit.h>

#import "SubViewController.h"

@interface SuperViewController : UIViewController <SubViewControllerDelegate>

@end

SuperView.m:

#pragma mark - SubView Controller Delegate Methods
- (void)someMethod:(NSData *)data{
    NSLog(@"%@",data);
}

我做错了什么或错过了什么?

解决方法

你有一个“import-cycle”,因为“SuperViewController.h”导入“SubViewController.h”,反之亦然.

删除“SubViewController.h”中的#import“SuperViewController.h”
应该解决问题.

如果您确实需要在“SubViewController.h”中声明该类,请使用
 @class SuperViewController;避免进口周期.

备注:< SubViewControllerDelegate>协议声明可能不是
在公共接口“SuperViewController.h”中根本需要.

在“SuperViewController.h”中,将类声明为

@interface SuperViewController : UIViewController

在“SuperViewController.m”中,使用协议定义类扩展:

@interface SuperViewController () <SubViewControllerDelegate>
@end

大佬总结

以上是大佬教程为你收集整理的ios – 如何从子级到父级创建委派(subview-superview)全部内容,希望文章能够帮你解决ios – 如何从子级到父级创建委派(subview-superview)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。