草庐IT

pthread_self

全部标签

objective-c - 使用 block 在 `self` 上保留循环

恐怕这个问题很基础,但我认为它与许多陷入困境的Objective-C程序员有关。我听说,由于block捕获其中引用的局部变量作为const副本,因此在block中使用self可能会导致保留周期,如果那样的话block被复制。因此,我们应该使用__block来强制block直接处理self而不是复制它。__blocktypeof(self)bself=self;[someObjectmessageWithBlock:^{[bselfdoSomething];}];而不仅仅是[someObjectmessageWithBlock:^{[selfdoSomething];}];我想知道的是:

objective-c - 实现 API 时如何避免在 block 中捕获 self ?

我有一个工作应用程序,我正在将其转换为Xcode4.2中的ARC。预检查警告之一涉及捕获self在导致保留循环的block中强烈。我制作了一个简单的代码示例来说明这个问题。我相信我理解这意味着什么,但我不确定实现这种场景的“正确”或推荐方式。self是MyAPI类的一个实例下面的代码经过简化,仅显示与我的问题相关的对象和block的交互。假设MyAPI从远程源获取数据并且MyDataProcessor处理该数据并产生输出处理器配置有block来传达进度和状态代码示例://codesampleself.delegate=aDelegate;self.dataProcessor=[[MyD

objective-c - 实现 API 时如何避免在 block 中捕获 self ?

我有一个工作应用程序,我正在将其转换为Xcode4.2中的ARC。预检查警告之一涉及捕获self在导致保留循环的block中强烈。我制作了一个简单的代码示例来说明这个问题。我相信我理解这意味着什么,但我不确定实现这种场景的“正确”或推荐方式。self是MyAPI类的一个实例下面的代码经过简化,仅显示与我的问题相关的对象和block的交互。假设MyAPI从远程源获取数据并且MyDataProcessor处理该数据并产生输出处理器配置有block来传达进度和状态代码示例://codesampleself.delegate=aDelegate;self.dataProcessor=[[MyD

ios - 总是将 self 的弱引用传递到 ARC 中的 block 中?

我对Objective-C中的block使用有点困惑。我目前使用ARC,我的应用程序中有很多block,目前总是引用self而不是它的弱引用。这可能是这些block保留self并防止它被释放的原因吗?问题是,我是否应该始终在block中使用self的weak引用?-(void)handleNewerData:(NSArray*)arr{ProcessOperation*operation=[[ProcessOperationalloc]initWithDataToProcess:arrcompletion:^(NSMutableArray*rows){dispatch_async(di

ios - 总是将 self 的弱引用传递到 ARC 中的 block 中?

我对Objective-C中的block使用有点困惑。我目前使用ARC,我的应用程序中有很多block,目前总是引用self而不是它的弱引用。这可能是这些block保留self并防止它被释放的原因吗?问题是,我是否应该始终在block中使用self的weak引用?-(void)handleNewerData:(NSArray*)arr{ProcessOperation*operation=[[ProcessOperationalloc]initWithDataToProcess:arrcompletion:^(NSMutableArray*rows){dispatch_async(di

python - `self` 参数的用途是什么?为什么需要它?

考虑这个例子:classMyClass:deffunc(self,name):self.name=name我知道self指的是MyClass的具体实例。但是为什么func必须明确地包含self作为参数呢?为什么我们需要在方法的代码中使用self?其他一些语言将其设为隐式,或使用特殊语法。有关设计决策的语言无关考虑,请参阅Whatistheadvantageofhavingthis/selfpointermandatoryexplicit?.要关闭调试问题,其中OP省略了方法的self参数并得到TypeError,请使用TypeError:method()takes1positional

python - `self` 参数的用途是什么?为什么需要它?

考虑这个例子:classMyClass:deffunc(self,name):self.name=name我知道self指的是MyClass的具体实例。但是为什么func必须明确地包含self作为参数呢?为什么我们需要在方法的代码中使用self?其他一些语言将其设为隐式,或使用特殊语法。有关设计决策的语言无关考虑,请参阅Whatistheadvantageofhavingthis/selfpointermandatoryexplicit?.要关闭调试问题,其中OP省略了方法的self参数并得到TypeError,请使用TypeError:method()takes1positional

http - PHP_SELF vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI

我正在CodeIgniter中构建一个PHP应用程序。CodeIgniter将所有请求发送到主Controller:index.php。但是,我不喜欢在URI中看到index.php。例如,http://www.example.com/faq/whatever将路由到http://www.example.com/index.php/faq/whatever.我需要一种可靠的方法让脚本知道它的地址是什么,这样它就会知道如何处理导航。根据CodeIgniter文档,我使用了mod_rewrite。规则如下:RewriteEngineonRewriteCond$1!^(images|inc|

http - PHP_SELF vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI

我正在CodeIgniter中构建一个PHP应用程序。CodeIgniter将所有请求发送到主Controller:index.php。但是,我不喜欢在URI中看到index.php。例如,http://www.example.com/faq/whatever将路由到http://www.example.com/index.php/faq/whatever.我需要一种可靠的方法让脚本知道它的地址是什么,这样它就会知道如何处理导航。根据CodeIgniter文档,我使用了mod_rewrite。规则如下:RewriteEngineonRewriteCond$1!^(images|inc|

php - 新 self 与新静态

我正在转换PHP5.3库以在PHP5.2上运行。阻碍我的主要事情是使用后期静态绑定(bind),如returnnewstatic($options);,如果我将其转换为returnnewself($options)我会得到相同的结果吗?newself和newstatic有什么区别? 最佳答案 willIgetthesameresults?不是真的。不过,我不知道PHP5.2的解决方法。Whatisthedifferencebetweennewselfandnewstatic?self指的是实际写入new关键字的类。static,在P