Search code examples
iosinappsettingskit

What is the proper way to set a delegate for a InAppSettingsKit view controller without subclassing


I need to create a IASKSettingsDelegate to respond to settingsViewControllerDidEnd in a StoryBoard setting. I have made AppDelegate implement that delegate protocol (it was an idea) but I can't seem to figure out how to connect it as the delegate of my IASKAppSettingsViewController without subclassing it.

If this is not possible or is not the right way to get settingsViewControllerDidEnd answered, I welcome suggestions.


Solution

  • You can set the delegate in -prepareForSegue:sender: of the calling view controller. Assuming your segue identifier is named "settings":

    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        if ([segue.identifier isEqualToString:@"settings"]) {
            IASKAppSettingsViewController *settingsViewController = segue.destinationViewController;
            settingsViewController.delegate = self;
        }
    }