大佬教程收集整理的这篇文章主要介绍了objective-c – 奇怪的NSSet复制崩溃,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
NSSet* collectibleCopy = [_collectibles copy];
在实践中,我看到这个消息经常崩溃:
[__NSPlaceholderSet initWithObjects:count:]: attempt to insert nil object from objects
我已通过将上述代码更改为:
NSMutableSet* collectibleCopy = [[NSMutableSet alloc] initWithCapacity: [_collectibles count]]; for ( id thing in _collectibles ) { [collectibleCopy addObject: thing]; }
而现在我再也无法重现任何此类崩溃.我打赌[复制]更有效率,我宁愿使用它,但我无法弄清楚为什么它完全不稳定!
更新:虽然完整的上下文需要大量的解释,但解决这个问题的关键是,a,代码是这样调用的:
NSBlockOperation* operation = [NSBlockOperation blockOperationWithBlock: ^{ [thing dostuff]; }]; [operationQueue addoperation: operation];
我是,基本上通过使一堆事情变得更慢,抓住应用程序与2个线程运行2个线程为这样的队列初始化:
operationQueue.maxConcurrentOperationCount = 1;
我认为这是不可能的.线索是第二个线程在[NSAutoreleasePool drain]中,这让我得知NSOperationQueue可以随时随地做自动释放的东西.
NSSet* collectibleCopy = [NSSet setWithSet:_collectibles]
为你工作?
以上是大佬教程为你收集整理的objective-c – 奇怪的NSSet复制崩溃全部内容,希望文章能够帮你解决objective-c – 奇怪的NSSet复制崩溃所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。