I have a very simple execution, but it's crashing for some reason. Any ideas why?
import UIKit
class ViewController: UIViewController {
#IBOutlet var myTextField: UITextField!
#IBOutlet var resultsLabel: UILabel!
#IBAction func pressButton(sender: AnyObject) {
let diceRoll = String(arc4random_uniform(UInt32(6)))
print(diceRoll)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
Crash Log added
2016-02-06 16:24:32.358 GuessingGame[6330:496415] * Terminating app
due to uncaught exception 'NSUnknownKeyException', reason: '[
setValue:forUndefinedKey:]: this class is not key value
coding-compliant for the key TextField.' * First throw call stack: ( 0
CoreFoundation 0x000000010960ae65 exceptionPreprocess + 165 1
libobjc.A.dylib 0x000000010b34adeb objc_exception_throw + 48 2
CoreFoundation 0x000000010960aaa9 -[NSException raise] + 9 3
Foundation 0x00000001099d39bb -[NSObject(NSKeyValueCoding)
setValue:forKey:] + 288 4 UIKit 0x0000000109fb6320 -[UIViewController
setValue:forKey:] + 88 5 UIKit 0x000000010a1e4f41
-[UIRuntimeOutletConnection connect] + 109 6 CoreFoundation 0x000000010954b4a0 -[NSArray makeObjectsPerformSelector:] + 224 7
UIKit 0x000000010a1e3924 -[UINib instantiateWithOwner:options:] + 1864
8 UIKit 0x0000000109fbceea -[UIViewController
_loadViewFromNibNamed:bundle:] + 381 9 UIKit 0x0000000109fbd816 -[UIViewController loadView] + 178 10 UIKit 0x0000000109fbdb74 -[UIViewController loadViewIfRequired] + 138 11 UIKit 0x0000000109fbe2e7 -[UIViewController view] + 27 12 UIKit
0x0000000109e94ab0 -[UIWindow addRootViewControllerViewIfPossible] +
61 13 UIKit 0x0000000109e95199 -[UIWindow _setHidden:forced:] + 282 14
UIKit 0x0000000109ea6c2e -[UIWindow makeKeyAndVisible] + 42 15 UIKit
0x0000000109e1f663 -[UIApplication
_callInitializationDelegatesForMainScene:transitionContext:] + 4131 16 UIKit 0x0000000109e25cc6 -[UIApplication
_runWithMainScene:transitionContext:completion:] + 1760 17 UIKit 0x0000000109e22e7b -[UIApplication workspaceDidEndTransaction:] + 188
18 FrontBoardServices 0x000000010d1df754 -[FBSSerialQueue
_performNext] + 192 19 FrontBoardServices 0x000000010d1dfac2 -[FBSSerialQueue _performNextFromRunLoopSource] + 45 20 CoreFoundation 0x0000000109536a31
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17 21 CoreFoundation 0x000000010952c95c __CFRunLoopDoSources0 + 556 22
CoreFoundation 0x000000010952be13 __CFRunLoopRun + 867 23
CoreFoundation 0x000000010952b828 CFRunLoopRunSpecific + 488 24 UIKit
0x0000000109e227cd -[UIApplication _run] + 402 25 UIKit
0x0000000109e27610 UIApplicationMain + 171 26 GuessingGame
0x000000010942b4dd main + 109 27 libdyld.dylib 0x000000010be5392d
start + 1 ) libc++abi.dylib: terminating with uncaught exception of
type NSException (lldb)
Most likely cause is that you renamed your IBOutlet from TextField to myTextField in your code (or added a new link but did not remove the old reference from the control in IB).
Related
My app was working perfectly until I added an #IBAction. Now I just get this error:
2017-06-09 07:55:35.285 Press[1594:102051] * Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key add.'
* First throw call stack:
(
0 CoreFoundation 0x000000010724bb0b exceptionPreprocess + 171
1 libobjc.A.dylib 0x00000001044f3141 objc_exception_throw + 48
2 CoreFoundation 0x000000010724ba59 -[NSException raise] + 9
3 Foundation 0x0000000104008e8b -[NSObject(NSKeyValueCoding) setValue:forKey:] + 292
4 UIKit 0x0000000104b60644 -[UIViewController setValue:forKey:] + 87
5 UIKit 0x0000000104dcd6b9 -[UIRuntimeOutletConnection connect] + 109
6 CoreFoundation 0x00000001071f1e8d -[NSArray makeObjectsPerformSelector:] + 269
7 UIKit 0x0000000104dcc06f -[UINib instantiateWithOwner:options:] + 1856
8 UIKit 0x0000000104b66c73 -[UIViewController _loadViewFromNibNamed:bundle:] + 381
9 UIKit 0x0000000104b67589 -[UIViewController loadView] + 177
10 UIKit 0x0000000104b678ba -[UIViewController loadViewIfRequired] + 195
11 UIKit 0x0000000104b6810a -[UIViewController view] + 27
12 UIKit 0x0000000104a3063a -[UIWindow addRootViewControllerViewIfPossible] + 65
13 UIKit 0x0000000104a30d20 -[UIWindow _setHidden:forced:] + 294
14 UIKit 0x0000000104a43b6e -[UIWindow makeKeyAndVisible] + 42
15 UIKit 0x00000001049bd31f -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4346
16 UIKit 0x00000001049c3584 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1709
17 UIKit 0x00000001049c0793 -[UIApplication workspaceDidEndTransaction:] + 182
18 FrontBoardServices 0x000000010895b5f6 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK + 24
19 FrontBoardServices 0x000000010895b46d -[FBSSerialQueue _performNext] + 186
20 FrontBoardServices 0x000000010895b7f6 -[FBSSerialQueue _performNextFromRunLoopSource] + 45
21 CoreFoundation 0x00000001071f1c01 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17
22 CoreFoundation 0x00000001071d70cf __CFRunLoopDoSources0 + 527
23 CoreFoundation 0x00000001071d65ff __CFRunLoopRun + 911
24 CoreFoundation 0x00000001071d6016 CFRunLoopRunSpecific + 406
25 UIKit 0x00000001049bf02f -[UIApplication _run] + 468
26 UIKit 0x00000001049c50d4 UIApplicationMain + 159
27 Press 0x0000000103f1a877 main + 55
28 libdyld.dylib 0x00000001081eb65d start + 1
29 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
This is my Viewcontroller code:
import UIKit
class ViewController: UIViewController {
// OUTLETS
#IBOutlet weak var score: UILabel!
#IBAction func add(_ sender: Any) {
add()
}
// VARIABLES
var scoreVar = 0
let levelUpAt = [50, 100, 500, 1000, 5000, 10000, 50000, 100000]
var currentLevel = 1
var toAdd = 1
// OVERRIDES
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
// FUNCTIONS
// Below code adds to the score
func add() {
scoreVar += 1 // Adds 1 to scoreVar
score.text = "scoreVar"; // Updates text to match
checkForLevelUp(); // Calls the function defined in the next few days ago
}
// Below code checks if the score meets the next level requirements
func checkForLevelUp() {
if (scoreVar - 1 < levelUpAt[currentLevel - 1]) { // Complicated math-y if statment
currentLevel += 1
toAdd += 1
}
}
}
It seems to be stuck on the class AppDelegate: UIResponder, UIApplicationDelegate { line on the AppDelegate, according to the debugger.
Go to your story board and click on the ViewController. Click one the Add button you created.
On the right side in the Outlet Inspector, remove anything mentioning the "Add" button.
Finally, recreate the outlets by option dragging from the button to your view controller and setting the type to "Action".
I'm just beginning to learn swift, and I have trouble understanding what the console is trying to tell me with this error. I'm following the Apple's guide to learn swift and in the section "Connect the UI to Code" I'm having the following problem:
2016-02-22 01:06:54.121 FoodTracker[20300:502503] <CATransformLayer: 0x7fab3973cb90> - changing property contentsCenter in transform-only layer, will have no effect
2016-02-22 01:06:54.127 FoodTracker[20300:502503] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<FoodTracker.ViewController 0x7fab394a9a00> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key setDefaultLabelText.'
*** First throw call stack:
(
0 CoreFoundation 0x00000001040b7e65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000105df7deb objc_exception_throw + 48
2 CoreFoundation 0x00000001040b7aa9 -[NSException raise] + 9
3 Foundation 0x00000001044809bb -[NSObject(NSKeyValueCoding) setValue:forKey:] + 288
4 UIKit 0x0000000104a63320 -[UIViewController setValue:forKey:] + 88
5 UIKit 0x0000000104c91f41 -[UIRuntimeOutletConnection connect] + 109
6 CoreFoundation 0x0000000103ff84a0 -[NSArray makeObjectsPerformSelector:] + 224
7 UIKit 0x0000000104c90924 -[UINib instantiateWithOwner:options:] + 1864
8 UIKit 0x0000000104a69eea -[UIViewController _loadViewFromNibNamed:bundle:] + 381
9 UIKit 0x0000000104a6a816 -[UIViewController loadView] + 178
10 UIKit 0x0000000104a6ab74 -[UIViewController loadViewIfRequired] + 138
11 UIKit 0x0000000104a6b2e7 -[UIViewController view] + 27
12 UIKit 0x0000000104941ab0 -[UIWindow addRootViewControllerViewIfPossible] + 61
13 UIKit 0x0000000104942199 -[UIWindow _setHidden:forced:] + 282
14 UIKit 0x0000000104953c2e -[UIWindow makeKeyAndVisible] + 42
15 UIKit 0x00000001048cc663 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4131
16 UIKit 0x00000001048d2cc6 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1760
17 UIKit 0x00000001048cfe7b -[UIApplication workspaceDidEndTransaction:] + 188
18 FrontBoardServices 0x0000000107c8c754 -[FBSSerialQueue _performNext] + 192
19 FrontBoardServices 0x0000000107c8cac2 -[FBSSerialQueue _performNextFromRunLoopSource] + 45
20 CoreFoundation 0x0000000103fe3a31 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
21 CoreFoundation 0x0000000103fd995c __CFRunLoopDoSources0 + 556
22 CoreFoundation 0x0000000103fd8e13 __CFRunLoopRun + 867
23 CoreFoundation 0x0000000103fd8828 CFRunLoopRunSpecific + 488
24 UIKit 0x00000001048cf7cd -[UIApplication _run] + 402
25 UIKit 0x00000001048d4610 UIApplicationMain + 171
26 FoodTracker 0x0000000103ed947d main + 109
27 libdyld.dylib 0x000000010690092d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
Also, this is the code I'm running:
import UIKit
class ViewController: UIViewController {
//MARK: Propierties
#IBOutlet weak var nameTextField: UITextField!
#IBOutlet weak var mealNameLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
//MARK: Actions
#IBAction func setDefaultLabelText(sender: UIButton) {
mealNameLabel.text = "Default Text"
}
}
Thank you in advance for your help. Looking forward to it.
Already solved my problem. As I was just starting to code, I tried copying and pasting what I've written into a new file and it works perfectly now. No issues at all. It might have been some bug with the config. Thanks anyway.
override func viewDidLoad() {
super.viewDidLoad()
**detailLabel.text = game**
}
#IBAction func selectedGame(segue:UIStoryboardSegue) {
if let gamePickerViewController = segue.sourceViewController as? GamePickerViewController,
selectedGame = gamePickerViewController.selectedGame {
**detailLabel.text = selectedGame**
game = selectedGame
}
}
Swift Compile Error 'text' is unavailable: APIs deprecated as of iOS 7 and earlier are unavailable in Swift
Edit :
#IBOutlet weak var detailLabel: UILabel!
But,
init PlayerDetailsViewController
2015-09-01 14:14:45.050 Ratings[3594:145699] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<Ratings.PlayerDetailsViewController 0x7ff6c3d42e80> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key detailLabelCurrent.'
*** First throw call stack:
(
0 CoreFoundation 0x000000010483dc65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x00000001063a8bb7 objc_exception_throw + 45
2 CoreFoundation 0x000000010483d8a9 -[NSException raise] + 9
3 Foundation 0x0000000104c5bb53 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 259
4 CoreFoundation 0x0000000104785d50 -[NSArray makeObjectsPerformSelector:] + 224
5 UIKit 0x00000001053b44eb -[UINib instantiateWithOwner:options:] + 1506
6 UIKit 0x000000010520c6d8 -[UIViewController _loadViewFromNibNamed:bundle:] + 242
7 UIKit 0x000000010520ccc8 -[UIViewController loadView] + 109
8 UIKit 0x00000001053d0db8 -[UITableViewController loadView] + 76
9 UIKit 0x000000010520cf39 -[UIViewController loadViewIfRequired] + 75
10 UIKit 0x000000010520d3ce -[UIViewController view] + 27
11 UIKit 0x0000000105246d3b -[UINavigationController preferredContentSize] + 149
12 UIKit 0x00000001051eceee -[UIPresentationController preferredContentSizeDidChangeForChildContentContainer:] + 101
13 UIKit 0x00000001051ea33d __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 122
14 UIKit 0x00000001051005ec _applyBlockToCFArrayCopiedToStack + 314
15 UIKit 0x0000000105100466 _afterCACommitHandler + 533
16 CoreFoundation 0x0000000104770ca7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
17 CoreFoundation 0x0000000104770c00 __CFRunLoopDoObservers + 368
18 CoreFoundation 0x0000000104766a33 __CFRunLoopRun + 1123
19 CoreFoundation 0x0000000104766366 CFRunLoopRunSpecific + 470
20 GraphicsServices 0x0000000108811a3e GSEventRunModal + 161
21 UIKit 0x00000001050dc8c0 UIApplicationMain + 1282
22 Ratings 0x000000010461b357 main + 135
23 libdyld.dylib 0x0000000106ade145 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
I have encountered with these situation, how can i fix these lines to prove all of iOS versions?
This question already has answers here:
setValue:forUndefinedKey: this class is not key value coding-compliant for the key [duplicate]
(20 answers)
Closed 7 years ago.
I am very new to swift, extremely new, and I will probably feel like an idiot for asking this question. My very simple goal is that when my button is tapped the button's title will disappear, but unfortunately the app is crashing every time I run it and I don't know what I'm doing wrong. Thank you for the help.
import UIKit
class ViewController: UIViewController {
#IBOutlet weak var background1: UIImageView!
#IBOutlet weak var screenButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.screenButton.setTitle("Tap!", forState: UIControlState.Normal)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
#IBAction func screenTapped(sender: AnyObject) {
self.screenButton.setTitle("", forState: UIControlState.Normal)
}
}
2015-04-10 17:13:41.465 TopScore[6391:414281] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key screenTapped.'
*** First throw call stack:
(
0 CoreFoundation 0x0000000104fc0a75 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000106b18bb7 objc_exception_throw + 45
2 CoreFoundation 0x0000000104fc06b9 -[NSException raise] + 9
3 Foundation 0x00000001053dbd43 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 259
4 CoreFoundation 0x0000000104f0a5e0 -[NSArray makeObjectsPerformSelector:] + 224
5 UIKit 0x0000000105b1a4ed -[UINib instantiateWithOwner:options:] + 1506
6 UIKit 0x0000000105978a88 -[UIViewController _loadViewFromNibNamed:bundle:] + 242
7 UIKit 0x0000000105979078 -[UIViewController loadView] + 109
8 UIKit 0x00000001059792e9 -[UIViewController loadViewIfRequired] + 75
9 UIKit 0x000000010597977e -[UIViewController view] + 27
10 UIKit 0x0000000105898509 -[UIWindow addRootViewControllerViewIfPossible] + 58
11 UIKit 0x00000001058988a1 -[UIWindow _setHidden:forced:] + 247
12 UIKit 0x00000001058a4f8c -[UIWindow makeKeyAndVisible] + 42
13 UIKit 0x000000010584f0c2 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 2732
14 UIKit 0x0000000105851e3e -[UIApplication _runWithMainScene:transitionContext:completion:] + 1349
15 UIKit 0x0000000105850d35 -[UIApplication workspaceDidEndTransaction:] + 179
16 FrontBoardServices 0x00000001086ca243 __31-[FBSSerialQueue performAsync:]_block_invoke + 16
17 CoreFoundation 0x0000000104ef5c7c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
18 CoreFoundation 0x0000000104eeb9c5 __CFRunLoopDoBlocks + 341
19 CoreFoundation 0x0000000104eeb785 __CFRunLoopRun + 2389
20 CoreFoundation 0x0000000104eeabc6 CFRunLoopRunSpecific + 470
21 UIKit 0x00000001058507a2 -[UIApplication _run] + 413
22 UIKit 0x0000000105853580 UIApplicationMain + 1282
23 TopScore 0x0000000104de1cee top_level_code + 78
24 TopScore 0x0000000104de1d2a main + 42
25 libdyld.dylib 0x00000001072f4145 start + 1
26 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
At some point, you accidentally set up an outlet called screenTapped. You need to find that outlet in Interface Builder in your storyboard and delete it.
What you want is an action from the button to screenTapped:. An action and an outlet are two very different things.
My app builds and runs successfully and the other pages do not have any issues. This page builds successfully, however, when I attempt to go to the page the app will crash. I am unsure of how to fix this issue.
import UIKit
class ViewController: UIViewController
{
#IBOutlet weak var txtView: UITextView!
func loadData (){
var txtView: NSMutableArray = NSMutableArray ()
txtView.removeAllObjects()
var query = PFQuery(className:"NewsPages")
query.getObjectInBackgroundWithId("KerL5Xf0Bx")
{
(NewsPages: PFObject!, error: NSError!) -> Void in
if error == nil
{
let content = NewsPages["content"] as String
self.txtView.text = String()
}
else
{
NSLog("%#", error)
}
}
}
}
My Error Code:
2014-12-21 20:00:05.679 App[1707:84302] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<App.ViewController 0x7fab1a4aabf0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key GameScore.'
*** First throw call stack:
(
0 CoreFoundation 0x000000010b649f35 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010d18dbb7 objc_exception_throw + 45
2 CoreFoundation 0x000000010b649b79 -[NSException raise] + 9
3 Foundation 0x000000010ba617b3 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 259
4 CoreFoundation 0x000000010b593e80 -[NSArray makeObjectsPerformSelector:] + 224
5 UIKit 0x000000010c19ac7d -[UINib instantiateWithOwner:options:] + 1506
6 UIKit 0x000000010bff9f98 -[UIViewController _loadViewFromNibNamed:bundle:] + 242
7 UIKit 0x000000010bffa588 -[UIViewController loadView] + 109
8 UIKit 0x000000010bffa7f9 -[UIViewController loadViewIfRequired] + 75
9 UIKit 0x000000010bffac8e -[UIViewController view] + 27
10 UIKit 0x000000010c59c41e -[_UIFullscreenPresentationController _setPresentedViewController:] + 65
11 UIKit 0x000000010bfd6429 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 105
12 UIKit 0x000000010c006a41 -[UIViewController _presentViewController:withAnimationController:completion:] + 1746
13 UIKit 0x000000010c008d81 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 132
14 UIKit 0x000000010c008ca5 -[UIViewController presentViewController:animated:completion:] + 229
15 UIKit 0x000000010bed68be -[UIApplication sendAction:to:from:forEvent:] + 75
16 UIKit 0x000000010bfdd410 -[UIControl _sendActionsForEvents:withEvent:] + 467
17 UIKit 0x000000010bfdc7df -[UIControl touchesEnded:withEvent:] + 522
18 UIKit 0x000000010bf1c308 -[UIWindow _sendTouchesForEvent:] + 735
19 UIKit 0x000000010bf1cc33 -[UIWindow sendEvent:] + 683
20 UIKit 0x000000010bee99b1 -[UIApplication sendEvent:] + 246
21 UIKit 0x000000010bef6a7d _UIApplicationHandleEventFromQueueEvent + 17370
22 UIKit 0x000000010bed2103 _UIApplicationHandleEventQueue + 1961
23 CoreFoundation 0x000000010b57f551 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
24 CoreFoundation 0x000000010b57541d __CFRunLoopDoSources0 + 269
25 CoreFoundation 0x000000010b574a54 __CFRunLoopRun + 868
26 CoreFoundation 0x000000010b574486 CFRunLoopRunSpecific + 470
27 GraphicsServices 0x000000010e6e09f0 GSEventRunModal + 161
28 UIKit 0x000000010bed5420 UIApplicationMain + 1282
29 Mars App 0x000000010a21d98e top_level_code + 78
30 Mars App 0x000000010a21da6a main + 42
31 libdyld.dylib 0x000000010e1f0145 start + 1
32 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
Open your corresponding xib file check all UI outlet connections, there you can see warning in some connection . delete that.
This error is always your xib file bind a error or not exists method ,so when you load view controllers fail.Check your xib file