5
出於某種原因,我得到致命錯誤:無法增加endIndex的
fatal error: can not increment endIndex
在行myRange。爲什麼我得到這個錯誤?我不明白我的代碼有什麼問題。
import UIKit
class ViewController: UIViewController {
@IBOutlet var drag: UIPanGestureRecognizer!
@IBOutlet weak var currentLabel: UILabel!
@IBOutlet weak var label1: UILabel!
@IBOutlet weak var label2: UILabel!
@IBOutlet weak var label3: UILabel!
@IBOutlet weak var label4: UILabel!
@IBOutlet weak var label5: UILabel!
@IBOutlet weak var label6: UILabel!
@IBOutlet weak var label7: UILabel!
@IBOutlet weak var label8: UILabel!
@IBOutlet weak var label9: UILabel!
let letter = "OX"
var currentLetter = Character!()
var decide = 0
var labelArray = [UILabel]()
var moveCounter = 0
override func viewDidLoad() {
super.viewDidLoad()
getCurrentLetter()
labelArray = [label1,label2,label3,label4,label5,label6,label7,label8,label9]
}
func getCurrentLetter()
{
let myRange = Range<String.Index>(start: letter.startIndex.advancedBy(decide), end: letter.startIndex.advancedBy(decide+1))
currentLabel.text = letter.substringWithRange(myRange)
currentLetter = Character(letter.substringWithRange(myRange))
}
func reset() {
decide = 0
}
@IBAction func dragObject(sender: UIPanGestureRecognizer) {
let points = sender.locationInView(view)
let currentPoints = currentLabel.frame.origin
currentLabel.center = CGPointMake(points.x, points.y)
for item in labelArray {
if CGRectContainsPoint(item.frame, points) {
item.text = String(currentLetter)
decide++
drag.enabled = false
currentLabel.center = currentPoints
} else if drag.enabled == false {
decide++
drag.enabled = true
currentLabel.center = currentPoints
}
if decide == 2 {
reset()
}
getCurrentLetter()
}
}
}
的[裁剪結束掉在運行時迅速,得到錯誤串的](http://stackoverflow.com/questions/29277746/可能的複製置換
修剪結束字符串在迅速得到錯誤在運行時) – thislooksfun
我不明白如何應用代碼從「修剪結束字符串在swift,在運行時得到錯誤」我的代碼 – 123558
你是對的,對不起。我太快地回答了這個問題。現在發佈實際答案。 – thislooksfun