0
錯誤在UISegmentedControl.selectedSegmentIndex入門錯誤EXC_BAD_INSTRUCTION(代碼= I386_INVOP,子碼=爲0x0)
產生我試着用title屬性,而不是交換機,但它並沒有幫助,出現了同樣的錯誤。
當我評論整個函數並嘗試打印numberOfColumnsSelector.selectedSegmentIndex時,它不會崩潰並打印正確的答案。
控制檯輸出:「致命錯誤:意外地發現零而展開的可選值」
我評論,低於該線導致的錯誤:
import UIKit
class ViewController: UIViewController {
//Declaring variables
@IBOutlet weak var numberOfColumnsSelector: UISegmentedControl!
@IBOutlet weak var populatedPlacesSelector: UITextField!
var numberOfColumns: Int = 0
var populatedPlaces: [Int] = []
// This makes those previously declared variables accessible
func makeVariablesAccessible() -> (size: Int, popPlacesArray: [Int]) {
// THE LINE BELOW IS THE PROBLEMATIC ONE
switch numberOfColumnsSelector.selectedSegmentIndex {
case 0:
numberOfColumns = 2
case 1:
numberOfColumns = 3
case 2:
numberOfColumns = 4
case 3:
numberOfColumns = 5
case 4:
numberOfColumns = 6
case 6:
numberOfColumns = 7
case 8:
numberOfColumns = 8
default:
numberOfColumns = 2
}
if populatedPlacesSelector.text != "" {
var counter = 0
var popPlaceString = ""
for c in populatedPlacesSelector.text!.characters {
if c == "." {
populatedPlaces.append(Int(popPlaceString)!)
print(populatedPlaces)
print(popPlaceString)
popPlaceString = ""
counter++
}
else {
popPlaceString.append(c)
}
}
}
return (numberOfColumns, populatedPlaces)
}
}
你是否檢查過'numberOfColumnsSelector'不是零?也許你的插座沒有正確連接。 – Michael
是的,所以程序告訴我它是零(至少這是我的想法),但連接正確完成(我只是重新檢查它)。 – PKLJ
這段代碼什麼時候運行?它至少需要在viewDidLoad中。任何早些時候,就像在初始化器中那樣,網點將不會被設置。 – Michael