gpt4 book ai didi

ios - 如何使用 InAppSettingsKit 委托(delegate)重新配置已更改的应用程序设置

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

我正在使用 InAppSettingsKit在我的应用程序中包含首选项。我使用 xcode 的 storyboard 通过以下简单步骤配置了首选项 View :

1) 我创建了一个导航 Controller 和一个 TableView Controller
2) 在表 Controller 中,我使用自定义类:IASKAppSettingsViewController 作为 Controller 。

一切都按预期工作,但现在我正在尝试重新配置应用程序,以便用户更改的设置在离开设置屏幕后生效。

我发现的一个教程说我应该:

Create a delegate that conforms to the IASKSettingsDelegate protocol. In the current version, -settingsViewControllerDidEnd: is the only required method.

所以委托(delegate)应该有一个像这样的方法:

- (void)settingsViewControllerDidEnd:(IASKAppSettingsViewController*)sender {
[self dismissModalViewControllerAnimated:YES];
[self reconfigure];
}

如何创建这个委托(delegate)?我不知道把这个方法放在哪里。我可以在 Storyboard连接检查器中看到代表有一个空间,但我无法连接它。请帮我解决这个问题,因为我已经阅读了大量解释委托(delegate)的教程,但它们让我更加困惑。我只需要关于如何创建委托(delegate)并将其连接到我在 Storyboard中创建的 Controller 的简单步骤。

谢谢!

最佳答案

我取得了一些进步(但有一个问题)。这就是我所做的:

我没有使用 IASKAppSettingsViewController 作为我的 Controller 类,而是创建了另一个继承自 IASKAppSettingsViewController 的类。我称之为 SettingsController

设置 Controller .h

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

@interface SettingsController : IASKAppSettingsViewController <IASKSettingsDelegate>
- (void)settingsViewControllerDidEnd:(IASKAppSettingsViewController*)sender;
@end

SettingsController.m

...
@implementation SettingsController
...
- (void)viewDidLoad
{
[super viewDidLoad];
self.delegate = self;
self.showDoneButton = YES;
}
- (void)settingsViewControllerDidEnd:(IASKAppSettingsViewController*)sender {
// reconfigure code here
}
@end

所以基本上,我没有使用 Storyboard建立任何委托(delegate)连接。我不得不写 <IASKSettingsDelegate>在 Controller 中,并使用 self.delegate = self;在 viewDidLoad 方法中。

要使重新配置工作,我需要将主视图 Controller 作为委托(delegate)(而不是设置 Controller )。我无法做到这一点。有帮助吗?

第二次尝试:好的,现在我尝试使用:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"settingsSegue"])
{
[[segue destinationViewController] setDelegate:self];
}
}

但它不起作用。我相信这是因为 destinationViewController 是 Storyboard中的 navigationController,它会立即显示设置所在的 TableView Controller 。

关于ios - 如何使用 InAppSettingsKit 委托(delegate)重新配置已更改的应用程序设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13565086/

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