0
私のコードに奇妙なバグがあります。私はSwiftにiOSアプリを構築しています。文字列のSwift 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] == "•"を試しましたが、それは真を返しました。しかし、今、私は、コードを実行すると、このコードは、私は次のエラーを取得する実行しますページを開いてみてください場合:
致命的なエラー:空の文字列からにどのように
任意のアイデアを文字を形成することができませんこれを解決する?文字列が空でないようです...
ありがとう!