草庐IT

automatic-ref-counting

全部标签

objective-c - 使用@autoreleasepool 减少峰值内存使用

我开发的iPad应用程序具有同步过程,该过程在紧密循环中使用Web服务和核心数据。根据Apple'sRecomendation减少内存占用我定期分配和耗尽NSAutoreleasePool。这目前效果很好,并且当前应用程序没有内存问题。但是,我计划转移到ARC,其中NSAutoreleasePool不再有效,并希望保持同样的性能。我创建了一些示例并为它们计时,我想知道使用ARC实现相同性能并保持代码可读性的最佳方法是什么。出于测试目的,我想出了3个场景,每个场景都使用1到10,000,000之间的数字创建一个字符串。我将每个示例运行3次,以确定他们使用带有AppleLLVM3.0编译器

iOS - 开始 iOS 教程 - 变量前的下划线?

我现在开始学习一些iOS开发,目前我正在阅读Apress的IOS6入门书。在第二章中有一个简单的教程来显示两个按钮和一个标签,当按下一个按钮时,它会显示在标签上按下了哪个按钮。我已经完成了教程,但是它提出了一个我找不到答案的问题。本教程使用ARC(自动引用计数)以防万一。这是代码,头文件:#import@interfaceMTMViewController:UIViewController@property(weak,nonatomic)IBOutletUILabel*statusLabel;-(IBAction)buttonPressed:(UIButton*)sender;@end

objective-c - Objective-C/iOS : Memory release with ARC (memory leak)

我是iOS/Objective-C的新手,我没有正确理解内存的释放。为了测试它,我创建了一个空的ARC启用的iPhone-Project并创建了一个非常简单的测试类:#import"MemTest.h"@implementationMemTest{}-(void)start{for(inti=0;i"];if(i%1000==0){NSLog(@"i=%d",i);}myString=nil;}}@end我只是在AppDelegate中开始测试:-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOpt

ios - 如何将Manual Retain-Release代码自动转换为ARC?

我为iOS4编写了数千行代码。代码库包含许多对retain和release的调用,当项目更新到iOS5时会导致错误和ARC。有没有办法自动将手动保留释放(MRR)代码转换为自动引用计数(ARC)? 最佳答案 来自Xcode4.2releasenotes:Toinitiatetheprocess,enableContinuebuildingaftererrorsintheGeneralPreferencespane,thenchooseEdit>Refactor>ConverttoObjective-CARC.Thetargetsth

ios - IOS 5 SDK 中的 Objective C 2.0 垃圾收集器 VS 自动引用计数器

只是想知道是否有人知道ObjectiveC2.0之间有什么不同IOS5SDK中的垃圾收集器和新的自动引用计数器?IOS5SDK是否也使用ObjectiveC2.0?注意:我的意思是Objective-C2.0-我从这个链接看到http://theocacao.com/document.page/510谢谢 最佳答案 JustwonderingifanyoneknowswhatisthedifferentbetweenObjectiveC2.0GarbageCollectorandnewAutomaticReferenceCounte

ElasticSearch系列 - SpringBoot整合ES:restHighLevelClient.count(countRequest, RequestOptions.DEFAULT)

restHighLevelClient.count(countRequest,RequestOptions.DEFAULT)是ElasticsearchJavaHighLevelRESTClient中用于执行计数请求的方法。具体来说,它接受两个参数:countRequest:一个CountRequest对象,表示计数请求的参数,包括要计数的索引、查询条件等。RequestOptions.DEFAULT:一个RequestOptions对象,表示请求选项,包括连接超时、响应超时等。该方法会返回一个CountResponse对象,表示计数请求的结果,包括符合查询条件的文档数量等信息。①示例代码:C

ios - 代码 : Generating an automatic comment upon Archive

上下文:我的项目包含两台后端服务器,一台用于开发,一台用于生产。每次我为QA构建时,我都需要将构建所在的服务器放在TestFlight上(这没问题)。但是在我在Xcode上的存档列表中,我很容易获得超过100个存档,如果它是生产服务器或开发服务器,我必须手动放置这些存档。这里的主要问题是QA何时需要回滚到特定服务器上的特定版本。问题:是否有一种自动方式可以在构建时对存档发表评论?我想放一些像:[BuildNumber]-[Dev|Live]Server谢谢 最佳答案 我们使用以下命令在构建(xcodebuild)后直接向存档添加注释

ios - C 回调如何通过用户数据指针返回 Objective-C 对象?

我在iOS程序中使用需要C回调的第三方库。回调提供了一个void*用户数据参数,我可以根据需要使用它。在此回调中,我想创建一个NSData对象,该对象返回到调用最终调用回调的API的代码。例如://Ccallback:staticvoidcallback(intx,void*userdata){if(userdata){//Thisgivesanerror://Pointertonon-consttype'NSData*'withnoexplicitownershipNSData**p=(NSData**)userdata;*p=[NSDatainit:...];}}//maincod

ios - 使用仪器查找内存泄漏

我已经尝试阅读互联网上几乎所有像样的教程,但仍然无法理解这里到底发生了什么:我有“隐藏系统库”和“反转调用树”,但我不明白如何找到导致此泄漏的实际代码。任何提示表示赞赏。可能是我遗漏了一些明显的东西。我遇到了数百个泄漏,但是我在闭包中使用了weak,我没有类相互引用等等。但看起来我缺少一些基本的东西。 最佳答案 您的屏幕截图中显示的问题是Instruments无法找到您应用的调试符号。Instruments显示内存地址而不是函数名称。在没有函数名称的情况下,您将无法在Instruments中找到内存泄漏的来源,即使您反转调用树并隐藏

ios - 圆弧错误 : init methods must return a type related to the receiver type [4]

这段代码在ARC下有什么问题?我得到以上错误:-(Moment*)initMoment:(BOOL)insert{if(insert){self.moment=[NSEntityDescriptioninsertNewObjectForEntityForName:@"Moment"inManagedObjectContext:self.managedObjectContext];}else{self.moment=[NSEntityDescriptioninsertNewObjectForEntityForName:@"Moment"inManagedObjectContext:nil