实现广播站demo
1.新建一个BroadCast
import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface BroadCast : NSObject
+(BroadCast*) shareBroadCast;
-(void) sendMessage;
-(void) sendRepeatMessage;
@end
NS_ASSUME_NONNULL_END
import "BroadCast.h"
static BroadCast broad=nil;
@implementation BroadCast
+(BroadCast) shareBroadCast{
if (broad ==nil) {
broad =[[BroadCast alloc] init];
}
return broad;
}
-(void) sendMessage{
//取得消息中心
NSNotificationCenter *center= [NSNotificationCenter defaultCenter] ;
NSDictionary *parm=@{@"userId":@"123",@"userName":@"java"};
[center postNotificationName:@"test1" object:self userInfo:parm];
}
-(void) sendRepeatMessage{
[NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(sendMessage) userInfo:nil repeats:YES];
}
@end
2.新建接收者Listener
import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface Listener : NSObject
-(void) receiveBroadCast;
@end
NS_ASSUME_NONNULL_END
import "Listener.h"
@implementation Listener
-(void) receiveBroadCast {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(happy:) name:@"test1" object:nil];
}
-(void) happy:(NSNotification *) notice{
NSLog(@" %@",notice.userInfo);
}
@end
3.调用
import <Foundation/Foundation.h>
import "BroadCast.h"
import "Listener.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Listener *ls1= [[Listener alloc] init];
[ls1 receiveBroadCast];
BroadCast *br=[BroadCast shareBroadCast];
if (true) {
[br sendMessage];//单次发送
}else{
[br sendRepeatMessage];//单次发送
[[NSRunLoop currentRunLoop] run];
}
}
return 0;
}