gpt4 book ai didi

swift - 为什么我会收到 SIGABRT 错误?

转载 作者:行者123 更新时间:2023-11-30 11:48:38 25 4
gpt4 key购买 nike

我正在尝试制作一款类似《玩具熊的五夜后宫》的 iPhone 游戏!我知道只有当我调用不存在的 socket 时才会发生此错误,但我确信我没有任何不存在的标签。如果有帮助的话,这是我的错误..

Here is the error Image

这是我的 main.storyboard,如果再一次,它很有帮助..

The main.storyboard

这是控制台:

2018-01-31 10:38:24.332509-0500 Code Orange[2606:253495] 
[LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one
you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't
expect;
(2) find the code that added the unwanted constraint or constraints
and fix it.
(
"<NSLayoutConstraint:0x6000000854b0 UIImageView:0x7f86f1d0b3a0.width ==
375 (active)>",
"<NSLayoutConstraint:0x60000009ba30 UIImageView:0x7f86f1d0b3a0.leading
== UILayoutGuide:0x6000001b3160'UIViewSafeAreaLayoutGuide'.leading
(active)>",
"<NSLayoutConstraint:0x60000009bda0 UIImageView:0x7f86f1d0b3a0.trailing
== UILayoutGuide:0x6000001b3160'UIViewSafeAreaLayoutGuide'.trailing
(active)>",
"<NSLayoutConstraint:0x60000009cf70 'UIView-Encapsulated-Layout-Width'
UIView:0x7f86f1d0bff0.width == 414 (active)>",
"<NSLayoutConstraint:0x60000009bcb0 'UIViewSafeAreaLayoutGuide-left'
H:|-(0)-[UILayoutGuide:0x6000001b3160'UIViewSafeAreaLayoutGuide'](LTR)
(active, names: '|':UIView:0x7f86f1d0bff0 )>",
"<NSLayoutConstraint:0x60000009bd50 'UIViewSafeAreaLayoutGuide-right'
H:[UILayoutGuide:0x6000001b3160'UIViewSafeAreaLayoutGuide']-(0)-|(LTR)
(active, names: '|':UIView:0x7f86f1d0bff0 )>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000000854b0 UIImageView:0x7f86f1d0b3a0.width ==
375 (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to
catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView
listed in <UIKit/UIView.h> may also be helpful.
2018-01-31 10:38:24.333733-0500 Code Orange[2606:253495]
[LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one
you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't
expect;
(2) find the code that added the unwanted constraint or constraints
and fix it.
(
"<NSLayoutConstraint:0x6000000932e0 UIImageView:0x7f86f1d0b3a0.height
== 667 (active)>",
"<NSLayoutConstraint:0x60000009bdf0 UIImageView:0x7f86f1d0b3a0.bottom
== UILayoutGuide:0x6000001b3160'UIViewSafeAreaLayoutGuide'.bottom
(active)>",
"<NSLayoutConstraint:0x60000009be40 V:|-(0)-
[UIImageView:0x7f86f1d0b3a0] (active, names:
'|':UIView:0x7f86f1d0bff0 )>",
"<NSLayoutConstraint:0x60000009cfc0 'UIView-Encapsulated-Layout-Height'
UIView:0x7f86f1d0bff0.height == 736 (active)>",
"<NSLayoutConstraint:0x60000009bd00 'UIViewSafeAreaLayoutGuide-bottom'
V:[UILayoutGuide:0x6000001b3160'UIViewSafeAreaLayoutGuide']-(0)-|
(active, names: '|':UIView:0x7f86f1d0bff0 )>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000000932e0 UIImageView:0x7f86f1d0b3a0.height ==
667 (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to
catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView
listed in <UIKit/UIView.h> may also be helpful.
2018-01-31 10:38:25.257696-0500 Code Orange[2606:253495] -[_SwiftValue
spawnMonster]: unrecognized selector sent to instance 0x600000441320
2018-01-31 10:38:25.261123-0500 Code Orange[2606:253495] ***
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[_SwiftValue spawnMonster]: unrecognized selector sent to
instance 0x600000441320'
*** First throw call stack:
(
0 CoreFoundation 0x000000010529e12b
__exceptionPreprocess + 171
1 libobjc.A.dylib 0x0000000104932f41
objc_exception_throw + 48
2 CoreFoundation 0x000000010531f024 -
[NSObject(NSObject) doesNotRecognizeSelector:] + 132
3 CoreFoundation 0x0000000105220f78
___forwarding___ + 1432
4 CoreFoundation 0x0000000105220958
_CF_forwarding_prep_0 + 120
5 Foundation 0x000000010439ab1e
__NSFireTimer + 83
6 CoreFoundation 0x000000010522e174
__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
7 CoreFoundation 0x000000010522de32
__CFRunLoopDoTimer + 1026
8 CoreFoundation 0x000000010522d9ea
__CFRunLoopDoTimers + 266
9 CoreFoundation 0x0000000105225404
__CFRunLoopRun + 2308
10 CoreFoundation 0x0000000105224889
CFRunLoopRunSpecific + 409
11 GraphicsServices 0x000000010addc9c6
GSEventRunModal + 62
12 UIKit 0x000000010571c5d6
UIApplicationMain + 159
13 Code Orange 0x000000010401a747 main + 55
14 libdyld.dylib 0x0000000109749d81 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type
NSException
(lldb)

另外..我查看了控制台,我想知道约束是否会导致此错误。

这是 ViewController.swift 文件的代码:

import UIKit

class ViewController: UIViewController {

//Variables
var temp:Int = 60
var battery:Int = 100
var monsterCount:Int = 0

//Outlets

//The main jump
@IBOutlet weak var mainJumpscare: UIImageView!

//Main background image
@IBOutlet weak var mainBackground: UIImageView!

//The battery and Temp display
@IBOutlet weak var BatteryDisplay: UILabel!

@IBOutlet weak var TempDisplay: UILabel!


//The timer variable
var updateTimer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: Selector(("spawnMonster")), userInfo: nil, repeats: true)
//Other functions

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
mainJumpscare?.isHidden = true
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

//The spawning spawnMonster
func spawnMonster() {
monsterCount += 1
if monsterCount >= 5 {
mainBackground.image = UIImage(named: "main-room-jumpTop")
}
}

@IBAction func shockRoomsAction(_ sender: Any) {
}

}

Here is proof that I imported the outlets

最佳答案

在这种情况下,问题与 socket 无关。有一些问题,但我认为主要问题是您试图在实际创建 Controller 之前启动计时器,这会导致 self 参数值错误。

试试这个:

var updateTimer: Timer!

override func viewDidLoad() {
super.viewDidLoad()
mainJumpscare?.isHidden = true

updateTimer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(spawnMonster), userInfo: nil, repeats: true)
}

@objc func spawnMonster() {
// ...
}

关于swift - 为什么我会收到 SIGABRT 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48546395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com