Gon*_*nzo 3 xcode objective-c ios
我的问题如下,
在我的一个中ViewControllers,当用户点击一个按钮时,我使用此代码注册设备以进行通知.
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
Run Code Online (Sandbox Code Playgroud)
然后,在AppDelegte,有两种方法.一个接收令牌,另一个收到错误.
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
Run Code Online (Sandbox Code Playgroud)
现在出现了问题,didRegisterForRemoteNotificationsWithDeviceToken我需要将令牌发送到我的服务器,并带有一些用户输入的数据View,如用户名.
我怎样才能获得这些数据?
mac*_*erv 10
这NSNotificationCenter将很好地为你服务.在AppDelegate中didRegisterForRemoteNotificationsWithDeviceToken,执行以下操作:
[[NSNotificationCenter defaultCenter] postNotificationName:@"RegistrationReceived"
object:token];
Run Code Online (Sandbox Code Playgroud)
并且,在你的控制器中viewDidLoad,
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(updateRegistrationInfo:)
name:@"RegistrationReceived"
object:nil];
Run Code Online (Sandbox Code Playgroud)
一定要实现-updateRegistrationInfo:(或任何你想要命名的)来接收NSNotification和作为参数传入的令牌.此外,当您不再需要时,请取消注册通知.
- (void)updateRegistrationInfo:(NSNotification *)notification
{
NSString *myObject = [notification object];
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2027 次 |
| 最近记录: |