Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSNotificationCenter有最高速度吗?_Objective C - Fatal编程技术网

Objective c NSNotificationCenter有最高速度吗?

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

使用NSNotificationCenter,它工作得很好,直到我开始向其他班级发送非常快速的消息

什么是快?每秒大约有30-40个通知。我连一个都没有。 还有别的办法吗? 我应该更新一个全局文件吗

//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!你说得对:)但到目前为止它是如何运作的?这段代码是从其他条件复制过来的,工作得很好,现在只有在我改变了你说的之后,它才能工作。。