Objective c NSNotificationCenter有最高速度吗?
使用NSNotificationCenter,它工作得很好,直到我开始向其他班级发送非常快速的消息 什么是快?每秒大约有30-40个通知。我连一个都没有。 还有别的办法吗? 我应该更新一个全局文件吗Objective c NSNotificationCenter有最高速度吗?,objective-c,Objective C,使用NSNotificationCenter,它工作得很好,直到我开始向其他班级发送非常快速的消息 什么是快?每秒大约有30-40个通知。我连一个都没有。 还有别的办法吗? 我应该更新一个全局文件吗 //post data out . - (void)post:(NSString*)string { NSLog(@"done"); //the log is printing NSDictionary *userInfo = nil; [[NSNotificat
//post data out .
- (void)post:(NSString*)string
{
NSLog(@"done"); //the log is printing
NSDictionary *userInfo = nil;
[[NSNotificationCenter defaultCenter] postNotificationName:@"connector"
object:string
userInfo:userInfo];
}
我知道观察者是好的,因为以前也用过同样的代码。
非常感谢。看起来您设置了错误的
对象,该对象应该是发布通知的对象(或nil
)。我认为您应该做的是将字符串添加到userInfo
:
NSDictionary *userInfo = @{@"somekey" : string };
[[NSNotificationCenter defaultCenter] postNotificationName:@"connector"
object:self
userInfo:userInfo];
看起来您设置了错误的对象
,该对象应该是发布通知的对象(或nil
)。我认为您应该做的是将字符串添加到userInfo
:
NSDictionary *userInfo = @{@"somekey" : string };
[[NSNotificationCenter defaultCenter] postNotificationName:@"connector"
object:self
userInfo:userInfo];
如果您每秒发送30-40个通知,那么您应该再次考虑您的实现
以下是一些备选方案:
NSNotificationCenter的问题是它会将消息发送给每个观察者—这可能会变得很慢,通常用于更新状态更改(登录/注销)视图。如果您每秒发送30-40个通知,您应该重新考虑您的实现
以下是一些备选方案:
NSNotificationCenter的问题是它会将消息发送给每个观察者-这可能会变得很慢,通常用于更新状态更改视图(登录/注销)。使用通知中心在两个类之间进行直接一对一通信有什么意义…?冒着引发战争的风险,OP询问如何使用NSNotificationCenter
。无论这是不是一个好主意(正如@holex所指出的)都是一个好主意,在不发动任何战争的情况下,必须有一个非常明确的理由要求这样做,因为我们都知道通知中心基本上不是为这种压力而设计的。这就是为什么我问这个问题…使用通知中心在两个类之间进行直接一对一通信有什么意义…?冒着引发战争的风险,OP询问使用NSNotificationCenter
。无论这是不是一个好主意(正如@holex所指出的)都是一个好主意,在不发动任何战争的情况下,必须有一个非常明确的理由要求这样做,因为我们都知道通知中心基本上不是为这种压力而设计的。这就是为什么我问这个问题…嘘!你说得对:)但到目前为止它是如何运作的?这段代码是从其他条件复制过来的,工作得很好,现在只有在我改变了你说的之后,它才能工作..sh*t!你说得对:)但到目前为止它是如何运作的?这段代码是从其他条件复制过来的,工作得很好,现在只有在我改变了你说的之后,它才能工作。。