gpt4 book ai didi

ios - 如何知道 UIBarButtonItem 选择器的名称

转载 作者:行者123 更新时间:2023-11-29 12:43:24 26 4
gpt4 key购买 nike

我正在为 iOS 开发基于 SplitView 的应用

我在我的主视图 Controller 上添加了一个按钮来隐藏这个 View ,我是这样做的

MasterViewController.m

- (IBAction)hideMasterViewController:(id)sender {


if (!app) { app = (AppDelegate *)[[UIApplication sharedApplication] delegate]; }
if (!currentSplitViewController) {
currentSplitViewController = (UISplitViewController *) app.window.rootViewController;
}

navController = [currentSplitViewController.viewControllers lastObject];

UIBarButtonItem *button = [[[[navController childViewControllers] objectAtIndex:0] navigationItem ] leftBarButtonItem];

[button.target performSelector:button.action];

}

如您所见,我在我自己的按钮上添加了详细 View Controller 的 leftBarButtonItem 的功能,然后我命令在此处执行它自己的选择器

[button.target performSelector:button.action];

但现在我收到这个警告:

PerformSelector may cause a leak because its selector is unknown

我这样做是因为 Detail Controller 已经预先构建了它,但我不知道它是选择器的名称,怎么知道???


编辑:这是我的两个屏幕:

DetailViewController(原始预建按钮) enter image description here

MasterViewController(我在详细 View 中从预建按钮开发按钮克隆) enter image description here


编辑:感谢耶稣将我的答案:

- (IBAction)hideMasterViewController:(id)sender {


if (!app) { app = (AppDelegate *)[[UIApplication sharedApplication] delegate]; }
if (!currentSplitViewController) {
currentSplitViewController = (UISplitViewController *) app.window.rootViewController;
}

navController = [currentSplitViewController.viewControllers lastObject];

UIBarButtonItem *button = [[[[navController childViewControllers] objectAtIndex:0] navigationItem ] leftBarButtonItem];


[button.target performSelector:@selector(toggleMasterVisible:)];
}

-(IBAction)toggleMasterVisible:(id)sender{

}
  1. 我可以使用 NSStringFromSelector(button.action) 获取选择器的名称
  2. 在使用选择器名称更改 performSelector 后,我收到另一个警告,因为 toggleMasterVisible: 未声明(本地),所以我通过添加 IBAction 将其关闭,但我从未设置到我的按钮

最佳答案

使用这个:

NSStringFromSelector(button.action)

关于ios - 如何知道 UIBarButtonItem 选择器的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24296614/

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