为什么我使用 Visual Format 时会收到 SIGABRT 错误?
Why am i getting a SIGABRT error from using Visual Format?
我正在使用一本关于如何在 swift3 中制作真实应用程序的书。我最近在使用 Visual Format 时遇到错误。它把我的行隔开,因为我有显示行号,而我放置的代码行附近没有行号。然后当我按下 运行 它给了我一个 SIGABRT 错误。为什么以及如何解决这个问题。它没有提到书中的任何错误。如果您想知道这是什么书,那就是:Paul Hudson "Hacking with Swift"。请帮忙!
它给我一个错误 Unterminated String literal。
这是我的代码:
view.addConstraints(
NSLayoutConstraint.constraints(
withVisualFormat:"V:|
[label1(labelHeight@999)]-
[label2(label1)]-
[label3(label1)]-
[label4(label1)]
[label5(label1)]->=10-|",
options: [],
metrics: nil,
views: viewsDictionary
)
)
您尚未指定 metrics
词典,但您正试图从中访问 labelHeight
。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse constraint format:
Encountered metric with name "labelHeight", but value was not specified in metrics or views dictionaries
V:|[label1(labelHeight@999)]-[label2(label1)]-[label3(label1)]-[label4(label1)][label5(label1)]->=10-|
^'
编辑:根据 rmaddy 的建议,修复方法如下:
let metrics = [
"labelHeight": <#labelHeight#>,
]
view.addConstraints(NSLayoutConstraint.constraints(
withVisualFormat:"V:|[label1(labelHeight@999)]-[label2(label1)]-[label3(label1)]-[label4(label1)][label5(label1)]->=10-|",
options: [],
metrics: metrics,
views: viewsDictionary
))
备注:
1) 示例修复被分成多行只是为了便于阅读。
2) <#labelHeight#>
复制到Xcode.
时会被翻译成占位符
我正在使用一本关于如何在 swift3 中制作真实应用程序的书。我最近在使用 Visual Format 时遇到错误。它把我的行隔开,因为我有显示行号,而我放置的代码行附近没有行号。然后当我按下 运行 它给了我一个 SIGABRT 错误。为什么以及如何解决这个问题。它没有提到书中的任何错误。如果您想知道这是什么书,那就是:Paul Hudson "Hacking with Swift"。请帮忙!
它给我一个错误 Unterminated String literal。
这是我的代码:
view.addConstraints(
NSLayoutConstraint.constraints(
withVisualFormat:"V:|
[label1(labelHeight@999)]-
[label2(label1)]-
[label3(label1)]-
[label4(label1)]
[label5(label1)]->=10-|",
options: [],
metrics: nil,
views: viewsDictionary
)
)
您尚未指定 metrics
词典,但您正试图从中访问 labelHeight
。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse constraint format:
Encountered metric with name "labelHeight", but value was not specified in metrics or views dictionaries
V:|[label1(labelHeight@999)]-[label2(label1)]-[label3(label1)]-[label4(label1)][label5(label1)]->=10-|
^'
编辑:根据 rmaddy 的建议,修复方法如下:
let metrics = [
"labelHeight": <#labelHeight#>,
]
view.addConstraints(NSLayoutConstraint.constraints(
withVisualFormat:"V:|[label1(labelHeight@999)]-[label2(label1)]-[label3(label1)]-[label4(label1)][label5(label1)]->=10-|",
options: [],
metrics: metrics,
views: viewsDictionary
))
备注:
1) 示例修复被分成多行只是为了便于阅读。
2) <#labelHeight#>
复制到Xcode.