我在尝试构建应用时遇到此错误。我正在学习斯威夫特(初学者)。我正在使用Xcode 7.2。
这是出现错误的地方。
struct ParseCSV {
func parseURL (contentsOfURL: NSURL, encoding: NSStringEncoding) -> ([String])? {
let columnDelimiter = ";"
var nameOfSensors:[String]?
do {
let content = try String(contentsOfURL: contentsOfURL, encoding: encoding)
print(content)
nameOfSensors = []
let columns:[String] = content.componentsSeparatedByCharactersInSet(NSCharacterSet.newlineCharacterSet()) as [String]
for column in columns {
var values:[String] = []
values = column.componentsSeparatedByString(columnDelimiter)
let nameOfSensor = (name: values[0])
nameOfSensors?.append(nameOfSensor)
}
}
catch {
print(error)
}
return nameOfSensors
}
}
错误
1. While emitting IR SIL function @_TFV18ConnectionVersuch28ParseCVS8parseURLfS0_FTCSo5NSURL8encodingSu_GSqGSaSS__ for 'parseURL' at /Users/lstudent/Documents/my_Apps/ConnectionVersuch2/ParseCSV.swift:16:5
我没有导入任何自定义框架,所以我不知道它是什么或在哪里。
答案 0 :(得分:0)
此行中出现错误
let nameOfSensor = (name: values[0])
这只是无意义的语法。它是
let nameOfSensor = values[0]
但你可以简化重复循环
for column in columns {
let values = column.componentsSeparatedByString(columnDelimiter)
if let nameOfSensor = values.first {
nameOfSensors?.append(nameOfSensor)
}
}
它还检查分离的数组是否包含第一个项目。