我正在尝试为Fredhys制作一款类似五夜的游戏!我知道这个错误只发生在我调用不存在的Outlet时,但我是积极的我没有任何不存在的标签。 如果它有帮助,这是我的错误..
这是我的主题。如果再一次,它会有所帮助..
这是控制台:
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) {
}
}
答案 0 :(得分:0)
在这种情况下,问题与网点无关。有一些问题,但我认为主要问题是您在实际创建控制器之前尝试启动计时器,这会导致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() {
// ...
}