关于ios:Xcode 7.2:由于信号导致命令失败:分段错误:11

Xcode 7.2 : Command failed due to signal: Segmentation fault: 11

我在尝试构建我的App时遇到此错误。我在找Swift(初学者)。我正在使用Xcode 7.2。

这是错误出现的地方。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
    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
    1.  While emitting IR SIL function @_TFV18ConnectionVersuch28ParseCVS8parseURLfS0_FTCSo5NSURL8encodingSu_GSqGSaSS__ for 'parseURL' at /Users/lstudent/Documents/my_Apps/ConnectionVersuch2/ParseCSV.swift:16:5

我没有导入任何自定义框架,所以我不知道它是什么或在哪里。


此行中发生错误

1
let nameOfSensor = (name: values[0])

这只是毫无意义的语法。它是

1
let nameOfSensor = values[0]

但是您可以简化重复循环

1
2
3
4
5
6
for column in columns {
   let values = column.componentsSeparatedByString(columnDelimiter)
   if let nameOfSensor = values.first {
      nameOfSensors?.append(nameOfSensor)
    }    
}

它还检查分隔的数组是否根本包含第一项。