Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将HTML字符串转换为NSAttributedString时运行存档时崩溃_Ios_Swift_Crash_Nsattributedstring - Fatal编程技术网

Ios 将HTML字符串转换为NSAttributedString时运行存档时崩溃

Ios 将HTML字符串转换为NSAttributedString时运行存档时崩溃,ios,swift,crash,nsattributedstring,Ios,Swift,Crash,Nsattributedstring,Xcode 7.3和Swift 2.2 在swift文件中,我有一个字符串扩展名,可以将HTML文本转换为NSAttributedString extension String { func htmlAttributedString() -> NSAttributedString? { guard let data = self.dataUsingEncoding(NSUTF16StringEncoding, allowLossyConversion: false)

Xcode 7.3Swift 2.2

在swift文件中,我有一个字符串扩展名,可以将HTML文本转换为NSAttributedString

extension String {
    func htmlAttributedString() -> NSAttributedString? {
        guard let data = self.dataUsingEncoding(NSUTF16StringEncoding, allowLossyConversion: false) else { return nil }
        guard let html = try? NSMutableAttributedString(data: data, options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil) else { return nil }
        return html
    }
}
我是这样用的

let HTMLstr = "<p><b>hello</b> world</p>"
if let attrString = HTMLstr.htmlAttributedString() {
    // do something here
}

详细回答:解决方案的调试非常缓慢。我必须通读导致车祸的所有代码,并确保对期权进行了正确的检查。因此,我不得不屏蔽大量代码,构建归档文件,并将其缩小为若干函数。然后,我必须屏蔽每一行代码,构建归档文件,直到找到崩溃的地方。由于应用程序中有数百行代码,而且归档需要花费大量时间,这并不容易。最后,一个可选项在为零时被展开。记住,它在模拟器中解包并在调试中运行,我惊讶地发现这个问题

简短回答:这是一个可选选项,使用nil展开,与上述代码无关。当您归档应用程序时,内存的处理方式略有不同,编译器可以通过所有代码有效性测试


我们学到的经验是将其存档以供生产,并在整个开发过程中定期在手机上运行。

您能将错误粘贴到这里吗?
Incident Identifier: 90C74E49-4C65-4556-B82D-6748437BB5BA
CrashReporter Key:   4fb0e685f950c6cdecf7132b26f38ff54e013348
Hardware Model:      iPhone7,1
Process:             AppName [7813]
Path:                /private/var/containers/Bundle/Application/1EE7C00E-7600-4D72-839D-8AEA834903B8/AppName.app/AppName
Identifier:          uk.co.skymook.AppName
Version:             1 (2.0)
Code Type:           ARM-64 (Native)
Parent Process:      launchd [1]

Date/Time:           2016-08-13 12:16:08.08 +0100
Launch Time:         2016-08-13 12:15:33.33 +0100
OS Version:          iOS 9.3.2 (13F69)
Report Version:      105

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x2000000000000000
Triggered by Thread:  0

Filtered syslog:
None found