iOS oc 发送广播
时间: 2023-09-20 14:11:41 浏览: 124
ios block学习总结demo
在 Objective-C 中,发送广播需要使用 `NSNotificationCenter` 类。以下是发送广播的示例代码:
```objc
// 定义广播名称
NSString *const kMyBroadcastNotification = @"MyBroadcastNotification";
// 发送广播
[[NSNotificationCenter defaultCenter] postNotificationName:kMyBroadcastNotification object:nil];
```
在上面的代码中,我们定义了一个名为 `kMyBroadcastNotification` 的广播名称,并使用 `NSNotificationCenter` 类发送了一个名为 `MyBroadcastNotification` 的广播。如果需要在发送广播时传递一些额外的信息,可以通过参数 `object` 传递一个对象。
接收广播需要在接收方注册,可以在 `viewDidLoad` 方法中添加如下代码:
```objc
// 注册广播
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleMyBroadcastNotification:) name:kMyBroadcastNotification object:nil];
```
在上面的代码中,我们使用 `NSNotificationCenter` 类注册了一个名为 `kMyBroadcastNotification` 的广播,当广播被发送时,会调用 `handleMyBroadcastNotification:` 方法进行处理。
下面是 `handleMyBroadcastNotification:` 方法的实现:
```objc
- (void)handleMyBroadcastNotification:(NSNotification *)notification {
// 处理广播通知
}
```
在上面的代码中,我们只是简单地实现了一个空方法,你可以在这个方法中实现自己的逻辑。另外,在不需要接收广播时,需要在适当的时机移除广播的监听:
```objc
// 移除广播监听
[[NSNotificationCenter defaultCenter] removeObserver:self name:kMyBroadcastNotification object:nil];
```
在上面的代码中,我们使用 `removeObserver:name:object:` 方法移除了接收方对名为 `kMyBroadcastNotification` 的广播的监听。
阅读全文