- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的代码中有一个奇怪的错误。我正在用 Swift 构建一个 iOS 应用程序。该代码包含以下功能:
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[string.startIndex] == "•",它返回了 true。但是现在,如果我运行代码并尝试打开运行此代码的页面,我会收到以下错误:
fatal error :无法从空字符串形成字符
关于如何解决这个问题的任何想法?字符串似乎不是空的...
谢谢!
最佳答案
如果您有一个空字符串,您将看到该错误。如果您首先进行测试以确保字符串不为空,那么您应该没问题。
if !string.isEmpty && string[string.startIndex] == "•" {
关于来自字符串的 Swift startIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36727034/
我正在通过签名和分发向导发布我的应用程序,但我得到了 this没有其他信息的错误。如果有人对此错误有任何经验,您能解释一下我应该怎么做才能继续吗? 最佳答案 包名称中的句点过多。 关于android
我有以下代码 public static void main(String args[]) throws Exception { String mySite = "StackOverflow"
看程序: let s = "1" print(s.startIndex) print(s.index(before: s.endIndex)) print(s.index(before: s.endI
我的代码中有一个奇怪的错误。我正在用 Swift 构建一个 iOS 应用程序。该代码包含以下功能: func generateAttrString(path: String?) { do {
我在一个文本编辑器上工作,当我在上面输入文本然后删除它时出现错误: StartIndex cannot be less than zero 指向这段代码: String line = rtb.Text
我有以下 C# 代码: ArticleContent = ds1.Tables[0].Rows[i]["ArticleContent"].ToString(); if (ArticleContent.
我希望从一个特定的起点将特定长度的内容从一个缓冲区复制到另一个缓冲区。我检查了 memcpy() 但它只需要复制内容的长度,而我也想指定起始索引。 是否有任何函数可以做到这一点,或者有什么好的方法可以
经过大量的调试,我终于发现,在使用 v2 YouTube-API 获取评论时,看似 Youtube 只发布前 100 条评论。我终于尝试使用: curl -Lk -X GET "http://gdat
Linq-to-Entities 似乎无法识别 IndexOf(String,Int)。 Int 是起始索引。有谁知道不需要实现的解决方法?我想保持可查询,而不设置 tolist 或 IEnumera
这个问题在这里已经有了答案: How does String.Index work in Swift (4 个答案) 关闭 6 年前。 我收到 startIndex 错误。错误是“‘string.i
这个问题已经有答案了: Get index of each capture in a JavaScript regex (8 个回答) 已关闭 7 年前。 我在正则表达式结果方面遇到了一些困难。基本上
问题基本上说明了一切。假设我有一个(排序的)列表,可以包含从1K到1M的任何项目。我有一个starting index和一个ending index。如果我使用ArrayList.sublist(st
我与 Swift Slice 发生冲突,认为 firstIndex 应该是切片的第一个索引,在源域中(不确定它还有什么用)。显然不是这样的: let ary = map(1...100) { i in
我想问一下是否有某种实用函数可以在提供索引的同时提供数组连接。也许jQuery的Prototype提供了这个,如果没有,我自己写:) 我期望的是这样的 var array= ["a", "b", "c
我有这个代码。我正在尝试仅检索文本“第一个程序”。考虑到我知道索引为 25,字符串的总长度为 35。 string text="Hello world ! This is my first progr
我将在 BiqQuery 中获取大约 500,000 到 1,000,000 行。我们将其限制为偏移量和最大值。在本例中,pageSize = max 和 startIndex = offset。 我
我目前使用带有起始索引和长度的 substringWithRange(): let str = "Hello World" let index = 0 let length = 3 str.subst
我从 rangeOfString 方法接收到一个 Range String.Index。 searchParagraphs = ress.rangeOfString("\n") 现在我想证明 star
我使用 Google Analytics Reporting Api V3 提取数据与 Google APIs Python client library ,我希望我的结果采用给定的索引格式或将所有数
我的 C# 代码中有以下方法: /// /// Removes the first (leftmost) occurence of a from a . /// /// The string t
我是一名优秀的程序员,十分优秀!