gpt4 book ai didi

ios - Xcode 6 Swift WebThread 崩溃并出现 EXC_BAD_ACCESS 错误

转载 作者:行者123 更新时间:2023-11-30 14:05:56 28 4
gpt4 key购买 nike

我使用 Xcode 6 和 Swift 在 iOS 应用程序中通过 UIWebView 显示 PDF 文件,如下所示:

@IBOutlet weak var displayWebView: UIWebView!

func displayView(viewfile: NSData){
displayWebView.loadData(viewfile, MIMEType: "application/pdf", textEncodingName: "UTF-8", baseURL: nil)
}

View 文件是一个 NSData,来自上一个屏幕中的 segue,它是一个 TableView 。

PDF显示正常。但是,当应用程序往返于上一个屏幕时,应用程序会在“loadData”步骤中崩溃,并显示“WebThread (xx): EXC_BAD_ACCESS (code=EXC_I386_GPFLT)”消息,如下所示:

libobjc.A.dylib`objc_msgSend:
0x106da3000 <+0>: testq %rdi, %rdi
0x106da3003 <+3>: jle 0x106da3068 ; <+104>
0x106da3005 <+5>: movq (%rdi), %r11
0x106da3008 <+8>: movq %rsi, %r10
-> 0x106da300b <+11>: andl 0x18(%r11), %r10d WebThread (24): EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
0x106da300f <+15>: shlq $0x4, %r10
0x106da3013 <+19>: addq 0x10(%r11), %r10
0x106da3017 <+23>: cmpq (%r10), %rsi

有时,错误是:

WebKitLegacy`-[WebDataSource(WebPrivate) dataSourceDelegate]:
0x10c51dbb0 <+0>: pushq %rbp
0x10c51dbb1 <+1>: movq %rsp, %rbp
0x10c51dbb4 <+4>: movq 0x11ad95(%rip), %rax ; WebDataSource._private
0x10c51dbbb <+11>: movq (%rdi,%rax), %rax
-> 0x10c51dbbf <+15>: movq 0x18(%rax), %rax WebThread (17): EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
0x10c51dbc3 <+19>: popq %rbp
0x10c51dbc4 <+20>: retq
0x10c51dbc5 <+21>: nopw %cs:(%rax,%rax)

无论是 iOS 8 还是 iOS 7,这些崩溃都会发生,而且崩溃的位置看起来是随机的。虽然有类似的帖子描述类似的症状,但它们是 Objective-C 解决方案而不是 Swift。

有人可以告知 Swift 中问题的解决方案吗?

最佳答案

为什么在调用“loadData”后不更新 View ? block 内的执行相对于其线程仍然是同步的。

[查询 findObjectsInBackgroundWithBlock:^(NSArray * _Nullable 对象,NSError * _Nullable 错误) {
如果(错误){
//处理错误
}
别的 {
dispatch_async(dispatch_get_main_queue(), ^{
[自加载数据];
[ self 更新 View ];
});
}
}];

关于ios - Xcode 6 Swift WebThread 崩溃并出现 EXC_BAD_ACCESS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32414581/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com