- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
最近,我将我的 iPhone 升级到 iOS 10。我在 iPhone 上安装了我的应用程序后,我发现当我在我的应用程序中点击一个 tableView 时,它肯定会崩溃。我在方法 cellForRowAtIndexPath
中做了一些断点,并在 Diagnostics 表中选择了 Zombie Objects。但是消息[CFString release]: message sent to deallocated instance 0x17063b960
总是出现在Debug区。此问题仅出现在 iOS 10 Beta 上,我不确定是否是 iOS 10 Beta 引起的问题。有没有人像我一样遇到这个问题?我将不胜感激。
更新:
当它返回cell
时,崩溃会出现:Thread 1: EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
and Thread 1: signal SIGKILL
相关代码如下所示:
UITableViewCell *单元格;
HKLoadingModel * model = [self modelForTableView:tableView];
ShopServiceType type = model == self.carwashLoadingModel ? ShopServiceCarWash : ShopServiceCarwashWithHeart;
JTShop *shop = [model.datasource safetyObjectAtIndex:indexPath.section];
NSArray * serviceArray = [self filterShopServiceByType:type andArray:shop.shopServiceArray];
NSInteger serviceAmount = serviceArray.count;
NSInteger sectionAmount = 1 + serviceAmount + 1;
if(indexPath.row == 0)
{
cell = [self tableView:tableView shopTitleCellAtIndexPath:indexPath];
}
else if (indexPath.row == sectionAmount - 1)
{
cell = [self tableView:tableView shopNavigationCellAtIndexPath:indexPath];
}
else
{
cell = [self tableView:tableView shopServiceCellAtIndexPath:indexPath andShopService:serviceArray];
}
return cell;
最佳答案
尝试使用 Instruments 工具来跟踪您将消息传递到已释放实例的位置。苹果有good guide为此:
- Launch Instruments.
- In the profiling template selection dialog that appears, click Zombies.
- Choose your device and app from the target device and process lists.
- Click Choose to create a trace document.
- Click the Record button in the toolbar (or press Command-R) to begin recording.
- Use your app normally.
- If a call is made to a deallocated object, a flag is inserted in the timeline pane and a Zombie Messaged dialog appears, indicating that a message was sent to a deallocated object at a specific memory address.
- If you close the Zombie Messaged dialog, you can reopen it by clicking the flag.
- Click the focus arrow next to the zombie’s memory address to display the memory history of the zombie object in the detail pane, along with corresponding reference counts and method calls.
- Select the Zombie event (or any other event you want to investigate) in the detail pane.
- Press Command-3 to display a stack trace for the selected event in the extended detail area of the inspector.
- Click the Collapse button in the extended detail area to hide system calls in the stack trace. This makes it easier to locate your app’s methods.
- Calls made by your app are colored black and preceded by a user code icon.
- Double-click a method in the stack trace to display its code in Instruments.
- Click the Xcode button at the top of the detail pane to open the code in Xcode for editing.
在我的例子中,崩溃是由 FoundationExtension
pod 版本 0.59 引起的。一旦我删除它,我就不再崩溃了。
关于iOS 10 [CFString 发布] : message sent to deallocated instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38144618/
我可以同步我的 Gmail 收件箱,但发送的文件夹不起作用。 这是我的 .mbsyncrc IMAPStore martinstabenfeldt-remote Account martins
我正在尝试从 nodeJS 发送电子邮件(使用 nodemailer 库),目前我在整个邮寄过程中遇到了一些超时问题。那不是我需要帮助的问题。我确实需要帮助的问题是,当它到达日志记录部分时,成功将为空
我在 WordPress 模板中使用 Contact Form 7 插件。我创建了表单和相关的 CSS,所以一切正常。当我单击发送按钮并成功发送电子邮件时,我需要执行以下操作。表单应该消失并显示“已发
我正在从辅助角色向服务总线队列发送消息。我注意到一些消息会随机丢失。 当我调试时,我在 Send 方法之后设置了一个断点,并登录到我的 Azure 面板以检查消息队列是否增加。我发现奇怪的是,有时消息
我是网站安全的新手,目前正在尝试深入了解同源策略。虽然在 stackoverflow 和其他地方有关于 SOP 概念的非常好的帖子,但我找不到关于 chrome 和其他浏览器是否允许跨域 XHR po
我正在从官方文档中学习 Solidity,并在我创建简单硬币的练习中进行堆栈: pragma solidity ^0.4.20; // should actually be 0.4.21 con
我们有一个需求,其中服务器需要将数据推送到各个客户端。所以我们继续使用 SSE(服务器发送事件)。我浏览了文档,但仍然不清楚这个概念。我有以下疑问: 场景 1。假设有 10 个客户。所以所有 10 个
我对 javascript/jquery 缺乏经验。我正在阅读 http://api.jquery.com/mouseover/ 的文档其中指出: The mouseover event is sen
所以我理解服务器发送事件的概念( EventSource ): 客户端通过 EventSource 连接到端点 客户端只监听从端点发送的消息 我感到困惑的是它在服务器上的工作方式。我看过不同的例子,但
我看过 here和 there尝试弄清楚服务器发送的事件是在传输级别。我还不确定。 两个消息来源都声称它们“只是 http”。然而,至少有两种方式可以解释这样的陈述。 当我第一次阅读那些文章时,我假设
我正在尝试使用 PHPMailer 在我的网站上创建联系表单。我在设置时遇到一些问题。我正在尝试使用 G-mail 作为我的 smtp 主机。我想知道是否有人可以帮助解决这个问题? 这是我的邮件代码:
我有一个大约 150 封电子邮件的文件夹,全部保存为 HTML 文件(Firefox 扩展),并且我需要捕获始终在“已发送”行中找到的年份;如下图所示。 我尝试使用 RegEx 但失败了;它根本不会打
我正在 Swift 中基于 NSObject 开发自定义类。它是一个状态菜单图标/菜单助手。当我收到在自定义类中单击图标的事件时,我想以 NSButton 允许创建 IBAction 来响应用户单击按
我尝试使用 MPI 对矩阵求和来执行此操作,我不知道为什么,但我无法使用 MPI_Send 发送任何类型的数据,但无论我在尝试什么我会收到一条错误消息吗: Sending 3 rows to task
我正在开发一个简单的收件箱/下午系统,我不明白为什么,但我可以显示已发送消息的显示,我可以显示已发送项目的列表,从收件箱查看下午消息,但不能确定我做错了什么,任何提示表示赞赏.. 这是我的代码:
我正在尝试在内容脚本和扩展程序之间传递消息 这是我在内容脚本中的内容 chrome.runtime.sendMessage({type: "getUrls"}, function(response)
我正在尝试将一段分成几个词。我手边有可爱的 nltk.tokenize.word_tokenize(sent),但是 help(word_tokenize) 说,“这个分词器被设计为一次处理一个句子。
我在从设备读取 SMS 消息时遇到问题。获取 URI content://sms/inbox 的内容提供者时,一切都很好。我可以阅读 person 列以在 people 表中找到外键并最终到达联系人及
我知道这个网站上有类似的问题,我已经尝试了一些建议的解决方案,其中一些对之前提出这个问题的人有效。但是,我仍然收到发送两次而不是一次的相同数据。 这是代码: final ProgressDialog
当做programmatic file upload时使用jQuery-File-Upload plugin启用分块后,我无法发送多个文件。 我调用电话的方式如下: fileUploadWidget.
我是一名优秀的程序员,十分优秀!