How to post and receive an NSNotifications (Objective C) | Notifications (in Swift)?

后端 未结 3 1391
遥遥无期
遥遥无期 2020-12-03 02:56

Is there an easy-to-grock pattern how to send a NSNotification (Objective C) | Notification (in Swift) and how to receive one? Code snippet? The docs write like 150 pages on

相关标签:
3条回答
  • 2020-12-03 03:37
    1. Register for a push notification profile and set it up in your application heres a link to do that PushNotification (Note you will need some server or something capturing device push notificaiton IDs in order to be able to send notification to those devices)

    2. Next assuming you are using a Windows Server or something .net compatible as your server there is a nice C# api written to send push notifications to the apple server (once you have a certificate and devices registered for it which you have stored in your server ), there are demos in here of how to use it, pretty cool heres a link C# push notification src

    Thats pretty much it...i gave u a quick solution using a .Net technology, if you are using somethign else you can browse around to see if there are solutions available in the platform you are using im sure youll find something, if not you can alwyas make your own :)

    0 讨论(0)
  • 2020-12-03 03:44

    Send a notification:

    [[NSNotificationCenter defaultCenter] postNotificationName:@"MyCacheUpdatedNotification" object:self];
    

    Receive it:

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(cacheUpdated:) name:@"MyCacheUpdatedNotification" object:nil];
    

    Act on it:

    - (void)cacheUpdated:(NSNotification *)notification {
    [self load];
    }
    

    And dispose of it:

    [[NSNotificationCenter defaultCenter] removeObserver:self];
    
    0 讨论(0)
  • 2020-12-03 03:47

    Swift Version for the same :

    Whenever you need to post the notification :

    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "UpdateAccepted"), object: self)
    

    On controller where you want to receive the notification :

    override func viewDidLoad(_ animated: Bool) {
        super.viewDidLoad(true) {
        NotificationCenter.default.addObserver(self, selector: #selector(updateAccepted(notification:)), name: NSNotification.Name(rawValue: "UpdateAccepted"), object: nil)
    }
    
    deinit {
        NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: "UpdateAccepted"), object: nil)
    }
    
    @objc func updateAccepted(notification: Notification) {
        handleRefresh()
    }
    
    0 讨论(0)
提交回复
热议问题