0
各スライダの最小値、最大値、現在値をストーリーボードのデフォルト値に設定しても、スライダを動かすと値が何とか2に移動したというエラーがスローされます。 :UISliderがNSRangeExceptionをスローする
var lElbowX = Int()
var rElbowX = Int()
var lElbowY = Int()
var rElbowY = Int()
var lWristX = Int()
var lWristY = Int()
var rWristX = Int()
var rWristY = Int()
var lKneeX = Int()
var lKneeY = Int()
var rKneeX = Int()
var rKneeY = Int()
var lAnkleX = Int()
var lAnkleY = Int()
var rAnkleX = Int()
var rAnkleY = Int()
と
@IBAction func vertical(_ sender: Any) {//The action function used to be empty
if jointPicker.selectedRow(inComponent: 2) == 1 {//left
if jointPicker.selectedRow(inComponent: 1) == 1 {//lNeck
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 2 {//lShoulder
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 3 {//lElbow
lElbowY = Int((verticalSlider.value - 0.5) * 200)
}
if jointPicker.selectedRow(inComponent: 1) == 4 {//lWrist
lWristY = Int((verticalSlider.value - 0.5) * 200)
}
if jointPicker.selectedRow(inComponent: 1) == 5 {//lSpine
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 6 {//lHip
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 7 {//lKnee
lKneeY = Int((verticalSlider.value - 0.5) * 200)
}
if jointPicker.selectedRow(inComponent: 1) == 8 {//lAnkle
lAnkleY = Int((verticalSlider.value - 0.5) * 200)
}
}
if jointPicker.selectedRow(inComponent: 2) == 2 {//right
if jointPicker.selectedRow(inComponent: 1) == 1 {//rNeck
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 2 {//rShoulder
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 3 {//rElbow
rElbowY = Int((verticalSlider.value - 0.5) * 200)
}
if jointPicker.selectedRow(inComponent: 1) == 4 {//rWrist
rWristY = Int((verticalSlider.value - 0.5) * 200)
}
if jointPicker.selectedRow(inComponent: 1) == 5 {//rSpine
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 6 {//rHip
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 7 {//rKnee
rKneeY = Int((verticalSlider.value - 0.5) * 200)
}
if jointPicker.selectedRow(inComponent: 1) == 8 {//rAnkle
rAnkleY = Int((verticalSlider.value - 0.5) * 200)
}
}
}
@IBAction func horizontal(_ sender: Any) {//The action function used to be empty
if jointPicker.selectedRow(inComponent: 2) == 1 {//left
if jointPicker.selectedRow(inComponent: 1) == 1 {//lNeck
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 2 {//lShoulder
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 3 {//lElbow
lElbowX = Int((horizontalSlider.value - 0.5) * 200)
}
if jointPicker.selectedRow(inComponent: 1) == 4 {//lWrist
lWristX = Int((horizontalSlider.value - 0.5) * 200)
}
if jointPicker.selectedRow(inComponent: 1) == 5 {//lSpine
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 6 {//lHip
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 7 {//lKnee
lKneeX = Int((horizontalSlider.value - 0.5) * 200)
}
if jointPicker.selectedRow(inComponent: 1) == 8 {//lAnkle
lAnkleX = Int((horizontalSlider.value - 0.5) * 200)
}
}
if jointPicker.selectedRow(inComponent: 2) == 2 {//right
if jointPicker.selectedRow(inComponent: 1) == 1 {//rNeck
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 2 {//rShoulder
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 3 {//rElbow
rElbowX = Int((horizontalSlider.value - 0.5) * 200)
}
if jointPicker.selectedRow(inComponent: 1) == 4 {//rWrist
rWristX = Int((horizontalSlider.value - 0.5) * 200)
}
if jointPicker.selectedRow(inComponent: 1) == 5 {//rSpine
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 6 {//rHip
//nothing yet
}
if jointPicker.selectedRow(inComponent: 1) == 7 {//rKnee
rKneeX = Int((horizontalSlider.value - 0.5) * 200)
}
if jointPicker.selectedRow(inComponent: 1) == 8 {//rAnkle
rAnkleX = Int((horizontalSlider.value - 0.5) * 200)
}
}
}
コールスタック:
2017-07-03 12:38:06.856 Exercise Generator[50942:2970421] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]'
*** First throw call stack:
(
0 CoreFoundation 0x0000000110352d4b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x000000010d66521e objc_exception_throw + 48
2 CoreFoundation 0x00000001102842eb -[__NSArrayM objectAtIndex:] + 203
3 UIKit 0x000000010db187ba -[UIPickerView selectedRowInComponent:] + 76
4 Exercise Generator 0x000000010d060734 _TFC18Exercise_Generator12selectorView8verticalfP_T_ + 180
5 Exercise Generator 0x000000010d062713 _TToFC18Exercise_Generator12selectorView8verticalfP_T_ + 67
6 UIKit 0x000000010db368bc -[UIApplication sendAction:to:from:forEvent:] + 83
7 UIKit 0x000000010dcbcc38 -[UIControl sendAction:to:forEvent:] + 67
8 UIKit 0x000000010dcbcf51 -[UIControl _sendActionsForEvents:withEvent:] + 444
9 UIKit 0x000000010dda60d4 -[UISlider beginTrackingWithTouch:withEvent:] + 1132
10 UIKit 0x000000010dcbb893 -[UIControl touchesBegan:withEvent:] + 179
11 UIKit 0x000000010dba4285 -[UIWindow _sendTouchesForEvent:] + 2043
12 UIKit 0x000000010dba5c33 -[UIWindow sendEvent:] + 4011
13 UIKit 0x000000010db529ab -[UIApplication sendEvent:] + 371
14 UIKit 0x000000010e33f72d __dispatchPreprocessedEventFromEventQueue + 3248
15 UIKit 0x000000010e338463 __handleEventQueue + 4879
16 CoreFoundation 0x00000001102f7761 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
17 CoreFoundation 0x00000001102dc98c __CFRunLoopDoSources0 + 556
18 CoreFoundation 0x00000001102dbe76 __CFRunLoopRun + 918
19 CoreFoundation 0x00000001102db884 CFRunLoopRunSpecific + 420
20 GraphicsServices 0x000000011228ca6f GSEventRunModal + 161
21 UIKit 0x000000010db34c68 UIApplicationMain + 159
22 Exercise Generator 0x000000010d0674ef main + 111
23 libdyld.dylib 0x000000011130268d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
おっとと、2つのコンポーネントがあります!私はコンポーネントに0から始まる番号が付いていることを完全に忘れていました。 –