私は以下のプロジェクトhttps://github.com/indragiek/MarkdownTextViewを使用しており、コアデータを有効にしてUITextView
からテキストを保存しています。致命的なエラー:値がSwiftタイプからObjective-Cタイプへのブリッジに失敗しました - フレームワークを使用している場合
viewDidLoad
のテキスト属性の一部を変更するまでは、テキストを保存してマークダウンを使用するとすべて問題なく動作します。属性を変更する方法については、GitHubページの例に従っていますが、まだエラーがあります。
ここ
import UIKit
import CoreData
import MarkdownKit
var textStorage: MarkdownTextStorage?
var textView: MarkdownTextView!
override func viewDidLoad() {
super.viewDidLoad()
self.automaticallyAdjustsScrollViewInsets = false
var attributes = MarkdownAttributes()
let fontFloat = CGFloat(28)
attributes.headerAttributes?.h6Attributes = [
NSForegroundColorAttributeName: UIColor.grayColor(),
NSFontAttributeName: UIFont(name: "OpenSans", size: 20)!
]
attributes.defaultAttributes = [
NSForegroundColorAttributeName: UIColor.blackColor(),
NSFontAttributeName: UIFont(name: "OpenSans", size: fontFloat)!
]
attributes.strongAttributes = [
NSForegroundColorAttributeName: UIColor.redColor()
]
let textStorage = MarkdownTextStorage(attributes: attributes)
do {
textStorage.addHighlighter(try LinkHighlighter())
} catch let error {
fatalError("Error initializing LinkHighlighter: \(error)")
}
textStorage.addHighlighter(MarkdownStrikethroughHighlighter())
textStorage.addHighlighter(MarkdownSuperscriptHighlighter())
if let codeBlockAttributes = attributes.codeBlockAttributes {
textStorage.addHighlighter(MarkdownFencedCodeHighlighter(attributes: codeBlockAttributes))
}
textView = MarkdownTextView(frame: CGRectZero, textStorage: textStorage)
textView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(textView)
let views = ["textView": textView]
var constraints = NSLayoutConstraint.constraintsWithVisualFormat("V:|-60-[textView]-8-|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views)
constraints += NSLayoutConstraint.constraintsWithVisualFormat("H:|-8-[textView]-8-|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views)
NSLayoutConstraint.activateConstraints(constraints)
textView.delegate = self
userSettings()
}
は、時にはそれが
fatal error: unexpectedly found nil while unwrapping an Optional value
はここでどのようにだ、私は次のエラーを取得する罰金だと、すべてのカスタム属性を持つViewController
負荷が、他の回、私がやっているものの例ですMarkdownAttributes構造体は、フレームワーク内から属性を設定します。
public var defaultAttributes: TextAttributes = [
NSFontAttributeName: UIFont.preferredFontForTextStyle(UIFontTextStyleBody)
]
public var h1Attributes: TextAttributes? = [
NSFontAttributeName: UIFont.preferredFontForTextStyle(UIFontTextStyleHeadline)
]
問題は何か、解決方法は誰にも分かりますか?ここで
:ここ
あなたは
nil
フォント警戒する方法の例です。私は '!'を削除しましたので、アンラップを強制しませんでしたが、インラインエラー 'オプションの値 'UIFontを取得しましたか?'アンラップされていない。あなたは '!'を使うつもりでしたか?または '?'? ' – RileyDev@ JKSDEVは、フォントをアンラップするための潜在的な解決策で私の答えを更新しました。 OpenSansが見つからない場合は、システムフォントに戻ります。 – JAL