草庐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 block - 避免循环保留

如果我在block内使用dispatch_queue会怎样?避免保留循环又避免过早释放弱指针的正确方法是什么?__weakMyClass*weakSelf=self;[apiClientfetchData:^(...){typeof(self)selfref=weakSelf;dispatch_async(dispatch_get_main_queue(),^{//usingselfrefhere}});这是正确的做法还是我遗漏了什么?我怎样才能确保一切都得到正确处理并且不会发生保留循环?我不能在这里做一些dealloc测试...我的问题不同于thishere,因为我的第一个block

objective-c - 初始化、分配和保留以及 "the initial value is never read"

我已经使用静态分析器查看了我的代码并得出了以下问题。NSString*string=[[NSStringalloc]init];string=[objectname];这给了我一个内存错误,指出从未读取过初始值。我将其替换为以下内容NSString*string=[[objectname]retain];这是更好/正确的编码吗?干杯 最佳答案 这段代码:1:NSString*string=[[NSStringalloc]init];2:string=[objectname];是不正确的,因为在1:行中,您分配了新内存并将对它的引用存

objective-c - 影响保留计数的因素

我很难定位内存泄漏。我正在使用cocos2d。这是两个类的数据区域:@interfaceDungeon:CCLayerColor{DungeonLevel*aDungeonLevel;Player*thePlayer;//listofallmonsterfilenamesNSMutableArray*monsterNames;//arrayofhowmanymonstersthereareofeachmonsterlevelNSMutableArray*monsterLevels;MessageView*theMessageView;DungeonDisplay*theDisplay;

iphone - 为什么保留 NSURLConnection 和 CAAnimation 委托(delegate)?

我是iOS开发的新手。我才知道他们是Foundation中保留的两个代表。我的理解是代表必须始终松散耦合。那为什么特意保留这两个呢?谢谢 最佳答案 通常,一个对象的整个生命周期都需要一个委托(delegate),这就是为什么它通常是一个弱/非保留引用。否则,对象和委托(delegate)都不能被释放,因为它们都将等待对方离开。然而,在NSURLConnection和CAAnimation的情况下,实际上只有具有某种“完成”状态的特定任务才需要委托(delegate)。当连接完成加载/取消或动画结束时,他们可以自己释放委托(deleg

ios - 已创建保留周期 - 需要确认

我一直在问关于保留周期的问题,但他们中的大多数都在谈论明确定义一个block并持有对它的强引用。他们都没有谈论只传递一个内联block。我的理解是,只是将block作为参数传递给函数,并不会创建强引用。但我只是想确保我没有被误解。所以问题是:在成员函数中传递block是否会创建强引用?[selfsomeFunctionWithCompletionCallback:^{[selfcompletionFunctionality];}];在这种情况下,self持有对正在传递的block的强引用吗?这将决定我是否需要传入weakSelf。谢谢 最佳答案

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

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

ios - 当应用程序进入后台时保留音频并删除 AVPlayer 的视频流

我想减少用户播放视频并进入后台模式(使用HLS流)时我的应用消耗的带宽。我希望音频仍然播放,但AVPlayer似乎一直在下载视频片段,即使它们不需要(用户无论如何也看不到任何东西)。理论上,我可以有一个非常低比特率的视频(例如黑屏)并在应用程序进入后台模式时设置player.currentItem.preferredPeakBitRate=1,但后来我没有不知道如何防止app在后台下载海量黑屏视频,导致用户返回时长时间黑屏。另外,如果用户连接不良,我还不清楚如何防止黑屏在前台模式下显示?我还尝试通过AVURLAsset的-(AVMediaSelectionGroup*)mediaSel

ios - 保留 AppStore 名称 - Placeholder iPhone App Time Limits

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭5年前。Improvethisquestion这基本上是这个问题的后续:CanIcreateaplaceholderiPhoneapp?不幸的是,上述问题的提问者只对如果他可以在AppStore中获得占位符应用程序感兴趣。我想知道的是:假设我的占位符应用被拒绝,在Apple删除我的提交并放弃该名称之前,我有多少时间?假设我的占位符应用程序获得批准(例如,我有一个视频和一个网站,Apple以某种方式接受了提交),我可以将应用程序保持多长时

iOS 应用程序的 cookie 在终止时会被清除。如何防止这种情况或保留此 cookie?

我正在发送带有存储在设备端的sessioncookie的http请求。问题是我想在应用程序终止时保留它。但似乎我的应用程序的所有cookie都被删除了。我在模拟器和设备上都试过了,它们的行为相同。是否有任何iOS方法可以防止此cookie删除?如果没有,我怎样才能将它保存到磁盘并将其恢复回来?为了安全起见,我打算将此cookie保存在iOS钥匙串(keychain)中。而且我认为所有NSHTTPCookie属性都可以安全地转换为NSString。所以我目前的想法是从NSHTTPCookie->NSDictionary->String->SaveinKeychain转换,然后返回使用获取