草庐IT

ios - 将自动释放对象分配给保留属性是否会增加其保留计数?

我原以为“self.data=”会保留自动释放的NSMutableArray对象及其包含的NSMutableDictionary对象,但最终当表的cellForRowAtIndexPath方法尝试访问self.data中的NSDictionaries时,我得到了EXC_BAD_ACCESS。@property(strong,nonatomic)NSMutableArray*data;-(void)updateReceivedData:(NSData*)jsonData{NSMutableArray*fetchedData=[NSJSONSerializationJSONObjectWi

ios - 我需要使计时器失效/释放吗?

在我的一个ViewController代码中有这一行:[NSTimerscheduledTimerWithTimeInterval:7.0target:selfselector:@selector(doSomethingOnce)userInfo:nilrepeats:NO];它在7秒后被调用并做了一些事情......(我没有将计时器分配给变量或属性)如果在7秒结束之前释放ViewController会发生什么情况?我是否必须在某个时候(即在dealloc中)释放和/或使Timer无效? 最佳答案 这种计时器仅由运行循环保留。因为您

ios - 内存泄漏,即使每个 alloc 都已释放

过去两天我一直在寻找内存泄漏。我阅读了文档并在Internet上搜索了有用的信息(例如OwenGoss“FindingandFixingMemoryLeaksiniOSApps”),但我仍然有太多的谜团需要解决。例如,这段代码在Instruments中一次又一次地亮起。我尽力了,但无法修复它。-(void)updateUserDefaults{//alloctemporaryArrayforobject´spositionsNSMutableArray*tArray=[[NSMutableArrayalloc]init];//storelocationsofobjectsfor(int

iOS:我应该在 dealloc 函数中释放对象吗?

我对内存管理很困惑。在.h文件中声明变量allNoticeArray:@interfaceNoticeViewController:UITableViewController{NSMutableArray*allNoticeArray;}@property(nonatomic,retain)NSMutableArray*allNoticeArray;@end在.m文件中分配并初始化变量:@implementationNoticeViewController@synthesizeallNoticeArray;-(void)viewDidLoad{[superviewDidLoad];se

objective-c - 如何正确释放一个CF对象对象?

我有这个方法(别人写的!)-(CGPDFDocumentRef)getPdf{NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentsDirectory=[pathsobjectAtIndex:0];NSString*pdfPath=[documentsDirectorystringByAppendingPathComponent:@"myLocalFileName.pdf"];NSURL*pdfURL=[NSURLfile

iOS - 自动引用计数 (ARC) 与手动保留释放 (MRR)

几个月前,当我开始为iOS开发应用程序时(我是一位经验丰富的Java开发人员),我在iOS方面有经验的同事警告我远离ARC(因为他们声称它有点bug)。现在我对MRR很满意。但如果真的值得的话,我想继续学习ARC。在查看Apple的文档时,即"AboutMemoryManagement".我发现:“如果您计划为iOS编写代码,则必须使用显式内存管理”所以我还在纠结要不要去ARC。我只关心iOS(不关心Mac开发)。谢谢。 最佳答案 您的同事听起来并不熟悉iOS。ARC不是马车。我听说过的每一位经验丰富的iOS开发人员都以认可的方式提

objective-c - 确定弱引用对象是否已被释放

我使用下面的代码来下载图片:-(void)downloadImageAtUrl:(id)urlandDelegate:(id)delegate_{NSURL*correctUrl=nil;if([urlisKindOfClass:[NSStringclass]])correctUrl=[NSURLURLWithString:[NSStringstringWithFormat:@"%@%@",kHostURL,[urlsubstringFromIndex:1]]];elsecorrectUrl=url;__blockASIHTTPRequest*request=[ASIHTTPReque

iphone - 释放自定义单元格类应用程序中的对象时崩溃

当我的自定义TableViewCell发布时,我的应用程序崩溃了。下面给出了我尝试的代码。它没有获取变量的名称。Cell在cellForRowAtIndexPath中像下面这样初始化。staticNSString*CellIdentifier1=@"CellIdentifier";staticNSString*CellIdentifier2=@"Cell";if(indexPath.section==0&&indexPath.row==0){CustomCell*cell=(CustomCell*)[tableViewdequeueReusableCellWithIdentifier:

IOS OCR tesseract 在为 nil 并使用 ACR 后不释放内存

我花了超过24小时来调试和解决tesseract中的问题,问题是我为多个图像循环下面的函数,每次我跟踪内存,发现每次调用时内存都会增加下划线Tesseract*tesseract=[[Tesseractalloc]initWithLanguage:@"eng+ita"];并且不受下面一行的影响tesseract=nil;下面是调用的完整函数-(void)recognizeImageWithTesseract:(UIImage*)img{UIImage*testb=[imgblackAndWhite];Tesseract*tesseract=[[Tesseractalloc]initWi

iphone - 在运行后台线程时释放对象时崩溃

我有一组对象,由ViewController初始化和拥有。ViewController在每个对象中启动一个fetchData方法,该方法在后台线程中运行,然后在完成后返回主线程并更改属性-self.dataFetchComplete,ViewController正在观察它。dispatch_async(dispatch_get_main_queue(),^{self.dataFetchComplete=YES;});如果在使用此方法完成这些对象之前释放ViewController,则当它到达self.dataFetchComplete=YES;行时,它会崩溃。在解除分配后尝试更改此属性