0
我在我的代码中有一个奇怪的错误。我正在Swift中构建一个iOS应用程序。 代码包含以下功能:从字符串快速startIndex
func generateAttrString(path: String?) {
do {
let content = try String(contentsOfFile: path!, encoding: NSUTF8StringEncoding)
let array = content.componentsSeparatedByString("\n¶")
let attrStyle = NSMutableParagraphStyle()
attrStyle.lineSpacing = 8
attrStyle.paragraphSpacing = 12
for element in array {
var string = element
var attributes = [
NSParagraphStyleAttributeName: attrStyle,
NSFontAttributeName: UIFont(name: "MyriadPro-Light", size: 17.0)!
]
var attrString = NSMutableAttributedString(string: string, attributes: attributes)
if string[string.startIndex] == "•" {
string.removeAtIndex(string.startIndex)
attributes[NSFontAttributeName] = UIFont(name: "MyriadPro-Regular", size: 17.0)!
let newAttrStyle = attrStyle.mutableCopy() as! NSMutableParagraphStyle
newAttrStyle.paragraphSpacing = 3
newAttrStyle.lineSpacing = 0
attributes[NSParagraphStyleAttributeName] = newAttrStyle
attrString = NSMutableAttributedString(string: string, attributes: attributes)
}
contentArray.append((false, attrString))
}
} catch _ {
}
}
在特定部分:
if string[string.startIndex] == "•" {
它给我的错误,我尝试过加入一个断点,并试图打印“弦”,这给我返回字符串。之后,我尝试了string [string.startIndex] ==“?”,它返回true。但是,如果我现在运行的代码,并尝试打开其中运行此代码我碰到下面的错误页面:
致命错误:无法从一个空字符串形成文字
如何任何想法解决这个?该字符串似乎不是空的...
谢谢!