Ios 线程1:EXC\u坏访问(代码=2,地址=0x7ffeeaa26f48)
我不知道这个错误是什么意思Ios 线程1:EXC\u坏访问(代码=2,地址=0x7ffeeaa26f48),ios,swift,xcode,Ios,Swift,Xcode,我不知道这个错误是什么意思 Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffeeaa26f48) 这意味着我不知道如何修复我的代码。请帮帮我。如果您需要,下面是我的代码。如果你需要更多的代码,请问我。我希望你们能帮助我。编辑:我包括了我所有的代码。我希望你们能使用它,很抱歉没有定义这个问题所需的变量。我再次希望你们能解决这个问题 var score = 0 var randomAmountOfTime = Double(arc4random_uni
Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffeeaa26f48)
这意味着我不知道如何修复我的代码。请帮帮我。如果您需要,下面是我的代码。如果你需要更多的代码,请问我。我希望你们能帮助我。编辑:我包括了我所有的代码。我希望你们能使用它,很抱歉没有定义这个问题所需的变量。我再次希望你们能解决这个问题
var score = 0
var randomAmountOfTime = Double(arc4random_uniform(5) + 2)
var randomAmountOfTime2 = Double(arc4random_uniform(5) + 2)
var randomAmountOfTime3 = Double(arc4random_uniform(5) + 2)
var randomAmountOfTime4 = Double(arc4random_uniform(5) + 2)
var randomAmountOfTime5 = Double(arc4random_uniform(5) + 2)
override func viewDidLoad() {
super.viewDidLoad()
if X != nil {
X.text = ""
}
if Puppy5 != nil {
Puppy5.isHidden = true
}
if Puppy4 != nil {
Puppy4.isHidden = true
}
if Puppy3 != nil {
Puppy3.isHidden = true
}
if Puppy2 != nil {
Puppy2.isHidden = true
}
if Puppy1 != nil {
Puppy1.isHidden = true
}
score = 0
if Score != nil {
Score.text = "Score - \(score)"
}
loadingProcess()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBOutlet var Score: UILabel!
@IBOutlet var X: UILabel!
@IBOutlet var Puppy5: UIButton!
@IBAction func puppy5(_ sender: Any) {
Puppy5.isHidden = true
score += 1
Score.text = "Score - \(score)"
}
@IBOutlet var Puppy4: UIButton!
@IBAction func puppy4(_ sender: Any) {
Puppy4.isHidden = true
score += 1
Score.text = "Score - \(score)"
}
@IBOutlet var Puppy3: UIButton!
@IBAction func puppy3(_ sender: Any) {
Puppy3.isHidden = true
score += 1
Score.text = "Score - \(score)"
}
@IBOutlet var Puppy2: UIButton!
@IBAction func puppy2(_ sender: Any) {
Puppy2.isHidden = true
score += 1
Score.text = "Score - \(score)"
}
@IBOutlet var Puppy1: UIButton!
@IBAction func puppy1(_ sender: Any) {
Puppy1.isHidden = true
score += 1
Score.text = "Score - \(score)"
}
func loadingProcess() {
if self.Puppy1 != nil && self.Puppy1.isHidden == true {
let when = DispatchTime.now() + randomAmountOfTime
DispatchQueue.main.asyncAfter(deadline: when) {
self.Puppy1.isHidden = false
self.loadingProcess()
}
} else if self.Puppy1 != nil && self.Puppy1.isHidden == false {
let when = DispatchTime.now() + 3
DispatchQueue.main.asyncAfter(deadline: when) {
self.Puppy1.isHidden = true
if self.X.text == "X" {
self.X.text = "X X"
} else if self.X.text == "" {
self.X.text = "X"
} else if self.X.text == "X X" {
self.X.text = "X X X"
}
}
}
self.loadingProcess()
}
您正在无条件地递归调用self.loadingProcess()。这个无限循环肯定是导致崩溃的原因 您正在无条件地递归调用
self.loadingProcess()
。这个无限循环肯定是导致崩溃的原因 如果您发布更多代码,您可能会帮助我们。什么是小狗?“X”是什么?对loadingProcess()
的递归调用是怎么回事?一般来说,你想用这段代码做什么?编辑:更多问题。生成错误的是哪一行代码?什么是调用loadingProcess()
,它是在重写操作系统所做的事情吗?最后一次编辑:想法是我们需要复制这个问题。从外观上看,您的代码是构建的,对吗?因此,我们需要更多的细节——是的,代码和对您正在做的事情的解释——才能真正有所帮助。谢谢要向@dfd添加什么是randomAmountOffTime
?总是解释代码应该做什么以及预期的结果应该是什么。哦,对不起,我会确保添加定义。如果您发布更多代码,您可能会帮助我们。什么是小狗?“X”是什么?对loadingProcess()
的递归调用是怎么回事?一般来说,你想用这段代码做什么?编辑:更多问题。生成错误的是哪一行代码?什么是调用loadingProcess()
,它是在重写操作系统所做的事情吗?最后一次编辑:想法是我们需要复制这个问题。从外观上看,您的代码是构建的,对吗?因此,我们需要更多的细节——是的,代码和对您正在做的事情的解释——才能真正有所帮助。谢谢要向@dfd添加什么是randomAmountOffTime
?始终解释代码应该做什么以及预期的结果应该是什么。哦,很抱歉,我将确保添加定义sbtw,您可以检查调试导航器(位于左侧导航器)以查看此方法被调用的次数。这可能是一个很大的问题,因为我这样做是为了重复。以这种方式递归调用方法总是会导致崩溃。我不确定我是否理解你最后一行代码的目标谢谢你告诉我。如果你想定期重复,你可以用定时器。timer=timer.scheduledTimer(timeInterval:timeInteral,target:self,selector:#selector(self.loadingProcess),userInfo:nil,repeats:true)顺便说一句,您可以检查调试导航器(位于左侧导航器)以查看调用此方法的次数。这可能是一个很大的问题,因为我这样做是为了重复。以这种方式递归调用方法总是会导致崩溃。我不确定我是否理解你最后一行代码的目标谢谢你告诉我。如果你想定期重复,你可以用定时器。timer=timer.scheduledTimer(时间间隔:timeInteral,目标:self,选择器:#选择器(self.loadingProcess),userInfo:nil,repeats:true)