gpt4 book ai didi

iphone - 委托(delegate)IBA行动

转载 作者:行者123 更新时间:2023-11-29 04:00:29 25 4
gpt4 key购买 nike

我的课上就是这么写的

设置ViewController.h

@class settingViewController;

@protocol settingViewDelegate <NSObject>

- (void)modalDoneDel :(settingViewController *)controller;

@end

@interface settingViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>

@property (nonatomic, weak) id <settingViewDelegate> delegate;

- (IBAction)modalDone:(id)sender;

@end

设置ViewController.m

@synthesize delegate;

- (IBAction)modalDone:(id)sender {

[self.delegate modalDoneDel:self];

}

leftViewController.h

#import "settingViewController.h"

@interface leftViewController : UIViewController <UITableViewDataSource, UITableViewDelegate, settingViewDelegate>

@property (strong, nonatomic) IBOutlet UIView *menuView;

- (IBAction)test:(id)sender;

@end

leftViewController.m

#import "leftViewController.h"

@interface leftViewController ()

@implementation leftViewController


-(void)modalDoneDel:(settingViewController *)controller{

NSLog(@"ss");
}

为什么控制台上不出现“ss”?哪里出错了?

最佳答案

可能的问题

您需要将委托(delegate)分配给您的类对象。如果您忘记了这一点,您的委托(delegate)方法将不会被调用。

所以你一定在某个地方调用settingViewController。

SettingViewController * settingViewController = [settingViewController alloc]init];
settingViewController.delegate = self; // VERY IMP

关于iphone - 委托(delegate)IBA行动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15918786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com