0

我正在尝试初始化一个自定义视图控制器并用它发送一个参数,但无法弄清楚。

勾勒一个想法:

我想为每项运动(步行、跑步等)设置不同的设置,并将这些设置保存在自定义视图控制器的核心数据中。

要知道设置属于哪项运动,我需要知道用户点击了哪项运动以进入该屏幕。我正在考虑通过发送参数、为每项运动使用自定义初始化或获取密钥来做到这一点。所有这些我都想不通。

我已经研究了这个问题并尝试这样做:(第 4 项) 在此处输入图像描述 但这不起作用,根据 IASK 文档,我认为我还需要指定一个文件,但是什么文件?

选择器必须有两个参数:设置包中文件名的 NSString 参数和 IASKSpecifier。

我尝试设置一个文件字段并尝试了不同的值,但没有成功。

我在这里迷失了方向,如果有可能获得初始化控制器的项目的密钥(例如项目 4 的“运行”),那也很好。

我尝试了很多不同的事情,我失去了理智,我显然做错了什么,但我不知道它是什么。

4

1 回答 1

0

您无需IASKSpecifierSettings.plist. 这个工作的方式是你实现

SettingsPerSportViewController.m

- (id) myinit:(NSString*)file specifier:(IASKSpecifier*)specifier {
    if ((self = [super init])) {
        // setup your VC
        if ([specifier.key isEqualToString:@"tennis"]) {
            // custom stuff for tennis
        } 
    }
    return self;
}

但是,这意味着您自己为您的运动构建设置视图控制器,而不是为此使用 IASK。

如果所有运动共享相同的设置并且您想使用 IASK 生成设置视图控制器,您可以实现自定义设置存储Sport.plist并为所有运动使用相同的设置。然后,您的自定义设置存储可以从 Core Data 加载并直接保存到 Core Data。然后,一个sport属性会将加载和保存操作路由到正确的 Core Data 上下文或表。

在根级别,您可以有一个简单的静态视图控制器,它IASKAppSettingsViewController为每个运动设置并推送一个,并将settingsStore属性设置为您的自定义存储子类,并sport根据所选运动设置属性。

于 2017-12-04T21:48:25.463 回答