msf是啥专业
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了msf是啥专业相关的知识,希望对你有一定的参考价值。
参考技术A msf是master of science in finance的缩写,指的是金融研究生,是商学院的专业,主要是金融分析的部分,MSF主要的专业课程有金融分析,投资管理,公司财务,金融经济,金融风险管理。扩展资料
msf是master of science in finance的\'缩写,指的是金融研究生,是商学院的专业,主要是金融分析的部分,MSF主要的专业课程有金融分析,投资管理,公司财务,金融经济,金融风险管理。StackTrace 显示 xxxxx 导致崩溃。但是“专业关闭#1”是啥意思?
【中文标题】StackTrace 显示 xxxxx 导致崩溃。但是“专业关闭#1”是啥意思?【英文标题】:StackTrace shows xxxxx is causing the crash. But "specialized closure #1" means what?StackTrace 显示 xxxxx 导致崩溃。但是“专业关闭#1”是什么意思? 【发布时间】:2018-03-01 11:59:02 【问题描述】:请解释下面的崩溃..
#3。 NSManagedObjectContext 0x1701c9ab0: xxxxxxxxxx 0 libsystem_kernel.dylib 0x1848898e8 __ulock_wait + 8 1 libdispatch.dylib 0x18475977c _dispatch_ulock_wait + 48 2 libdispatch.dylib 0x1847598a4 _dispatch_thread_event_wait_slow + 36 3 libdispatch.dylib 0x1847574f0 _dispatch_barrier_sync_f_slow + 236 4 核心数据 0x187c0703c _执行 + 232 5 核心数据 0x187c178b8-[NSManagedObjectContext(_NestedContextSupport) 执行请求:withContext:error:] + 176 6 CoreData 0x187b675e0-[NSManagedObjectContext executeFetchRequest:error:] + 580 7 MyApp 0x1002f596c 专用静态RecentItemsController.cleanupItems(inContext:ofType:limitingTo:sortingByAttribute:withPredicate:) (xxxxx.swift:182) 8 MyApp 0x1002f6574 静态 xxx.xxx(inStore:completion:) (xxx.swift:163) 中的特殊闭包 #1 9 MyApp 0x1002f5118 在静态 xxx.xxx(inStore:completion:) (xxx.swift) 中部分申请关闭#1 10 CoreData 0x187c0c214 开发者提交的BlockToNSManagedObjectContextPerform + 152 11 libdispatch.dylib 0x1847469a0 _dispatch_client_callout + 16 12 libdispatch.dylib 0x184754ad4 _dispatch_queue_serial_drain + 928 13 libdispatch.dylib 0x18474a2cc _dispatch_queue_invoke + 884 14 libdispatch.dylib 0x184754fa8 _dispatch_queue_override_invoke + 344 15 libdispatch.dylib 0x184756a50 _dispatch_root_queue_drain + 540 16 libdispatch.dylib 0x1847567d0 _dispatch_worker_thread3 + 124 17 libsystem_pthread.dylib 0x18494f100 _pthread_wqthread + 1096 18 libsystem_pthread.dylib 0x18494ecac start_wqthread + 4
【问题讨论】:
如果您查看这些行的末尾,您会看到RecentItemsController.swift:182
。这就是崩溃发生的地方,在第 182 行的那个文件中。这就是你需要查看的代码。
为什么不是第 163 行?
表示第 163 行的代码调用了第 182 行的代码。可能涉及第 163 行,但第 182 行是发生崩溃的地方。
如何解释第 163 行称为第 182 行而不是反之亦然?
因为这就是堆栈跟踪排序的工作方式。此外,如果您查看这两行代码,您可能会知道哪一行调用了另一行。
【参考方案1】:
查看堆栈跟踪和cleanupItems
func 内部的代码,我认为问题出在强制解包代码中:
let itemsToDelete = try context.fetch(request) as! [R]
首先要编写崩溃预防代码如下
if let itemsToDelete = try context.fetch(request) as? [R]
itemsToDelete.forEach(context.delete(_:))
log("Deleted \(itemsToDelete.count) \(type) item(s)")
让我知道这是否有效。
【讨论】:
感谢您的回答先生,但这不是崩溃的原因。我所知道的是完成处理程序被调用两次并且导致崩溃并且崩溃与核心数据的多个上下文有关。 if let completion = completion DispatchQueue.main.async(execute: completion) CoreData 不是线程安全的。如果您认为cleanupAllRecentItems
被同时调用多次并导致崩溃,您可以将此函数作为串行队列上的块执行。
它不是“cleanupAllRecentItems”,“completionHandler”被调用了两次并导致崩溃。
如果我想实现您对完成处理程序的建议,如果我们将完成处理程序称为同步到主队列就足够了吗? :“如果让完成=完成DispatchQueue.main.sync(执行:完成)”以上是关于msf是啥专业的主要内容,如果未能解决你的问题,请参考以下文章