This question already has an answer here:
Terminating app due to uncaught exception 'NSUnknownKeyException' - error [duplicate]
(1 answer)
Closed 9 years ago.
I am coding some dummy apps to get an understanding for iOS this one such app is a TODO list. I get the following error when I click the button to add a new task.
2013-06-20 09:56:00.763 SnapTask[2322:11303] Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<SLAddTaskViewController 0x917fb90> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key email.'
First throw call stack:
(0x1c92012 0x10cfe7e 0x1d1afb1 0xb7c711 0xafdec8 0xafd9b7 0xb28428 0x2340cc 0x10e3663 0x1c8d45a 0x232bcf 0xf7e37 0xf8418 0x24634e 0xf8648 0xf8882 0xf8b2a 0x10fef5 0x10ffdb 0x110286 0x110381 0x110eab 0x110fc9 0x10e225 0x126082 0x12613a 0x3050e6 0xd6cba 0xd7ae8 0x304f44 0x3044eb 0x1014f3 0x101777 0x1017b7 0x46cfe2 0x45ead9 0x45eb54 0x10e3705 0x1a920 0x256b24 0x10e3705 0x1a920 0x1a8b8 0xdb671 0xdbbcf 0xdad38 0x4a33f 0x4a552 0x283aa 0x19cf8 0x1beddf9 0x1bedad0 0x1c07bf5 0x1c07962 0x1c38bb6 0x1c37f44 0x1c37e1b 0x1bec7e3 0x1bec668 0x1765c 0x24ad 0x23d5)
libc++abi.dylib: terminate called throwing an exception
(lldb)
I have no idea where to even start, the list stores names emails and etc when adding a task
This is my AddTaskViewController header
#import <UIKit/UIKit.h>
#class TaskListViewController;
#interface AddTaskViewController : UITableViewController
-(IBAction)cancelButtonPressed:(id)sender;
-(IBAction)doneButtonPressed:(id)sender;
#property (nonatomic,strong) IBOutlet UITextView *nameField;
#property (nonatomic,strong) IBOutlet UITextView *emailField;
#property (nonatomic,strong) IBOutlet UITextView *homeField;
#property (nonatomic,strong) IBOutlet UITextView *cellField;
#property (nonatomic,strong) IBOutlet UITextView *addressField;
#property (nonatomic,strong) IBOutlet UITextView *notesField;
#property (nonatomic,strong) IBOutlet UITextView *dateField;
#property (nonatomic,strong) IBOutlet TaskListViewController * taskListViewController;
#end
Thank you I am so confused :(
I think you have changed your IBOutlet Name email to emailField.So you need to reconnect your IBOutlet in your xib.So please click on File's Owners control+left click at that time you will see different color on your connectivity.So reconnect you IBOutlet.
I hope it will be helpful.
Try reconnecting all your UIElements in that class.
Related
I'm currently developing an application that displays ads. The main view controller has 2 UIViews that act as containers for the ad views that will be passed in when they are loaded. However, I'm using an API that only takes a single "adContainer" as a parameter, so tried using an IBOutlet Collection called adContainer that has each of these 2 UIViews (adContainer1 and adContainer2) linked to it. I tagged each of these so that on the main view controller when I try to load an ad, I can iterate through the adContainers in the IBOutlet Collection and request each adContainer individually based on the object's tag. I'm being thrown this error:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance
Here is the code for my viewController.h :
#import <UIKit/UIKit.h>
#import "MPAdView.h"
#import "MPViewController.h"
#class MPAdInfo;
#interface MPSmaatoScrollBannerAdDetailViewController :
UIViewController <MPAdViewDelegate>
#property (weak, nonatomic) IBOutlet UILabel *titleLabel;
#property (weak, nonatomic) IBOutlet UILabel *IDLabel;
#property (weak, nonatomic) IBOutlet UILabel *failLabel;
#property (weak, nonatomic) IBOutlet UIActivityIndicatorView *spinner;
#property (strong, nonatomic) IBOutletCollection(UIView) NSArray
*adViewContainer;
- (id)initWithAdInfo:(MPAdInfo *)info;
#end
And here is the function in my viewController.m that I suspect is throwing the error:
- (void)configureAd
{
for (UIView *ad in _adViewContainer) {
if (ad.tag == 1) {
self.adView1 = [[MPSampleAppInstanceProvider sharedProvider] buildMPAdViewWithAdUnitID:self.info.ID
size:ad.bounds.size];
self.adView1.delegate = self;
self.adView1.accessibilityLabel = #"smaato banner";
self.adView1.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[ad addSubview:self.adView1];
[self.adView1 stopAutomaticallyRefreshingContents];
} else if (ad.tag == 2) {
self.adView2 = [[MPSampleAppInstanceProvider sharedProvider] buildMPAdViewWithAdUnitID:self.info.ID
size:ad.bounds.size];
self.adView2.delegate = self;
self.adView2.accessibilityLabel = #"smaato banner";
self.adView2.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[ad addSubview:self.adView2];
[self.adView2 stopAutomaticallyRefreshingContents];
}
}
}
Please help! Thank you in advance!
According to the way you said, I did not report an error myself; it may be that your xib cable is not set correctly.
You can refer to this:
"countByEnumeratingWithState:objects:count:" Error
I upgrade my iphone's ios ver to 10.0 and xcode's ver to 8.0(beta).
Source code well done in xcode ver 7.3.1.
but, when i run code in xcode 8.0,
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key idTextField.'
show up.
there is no '!' mark in xib. how can i fix it?
xib image
#interface TutorialViewController () <UIScrollViewDelegate>
{
IBOutlet UIScrollView *tutorialScrollView;
IBOutlet UIPageControl *pageControl;
IBOutlet UIButton *showTermsButton;
IBOutlet UIButton *showPrivacyPolicyButton;
ContactsManager *contactsManager;
IBOutlet UITextField *idTextField;
IBOutlet UITextField *pwTextField;
}
-(IBAction)showTerms:(id)sender;
-(IBAction)showPrivacyPolicy:(id)sender;
-(IBAction)start:(id)sender;
-(IBAction)startWithFacebook:(id)sender;
-(IBAction)goToSignUpPage:(id)sender;
#end
#implementation TutorialViewController
Hi I need to integrate date picker with inputView, I am on Xcode7. Using below code the application cause exception. The exception happening while I am touching UITextField element.
Here is the relevant part of the code where the date picker used.
#property (weak, nonatomic) IBOutlet UIDatePicker *graphDate;
#property (weak, nonatomic) IBOutlet UITextField *fromdate;
#property (weak, nonatomic) IBOutlet UITextField *toDate;
............................................................
..............................................................
[_graphDate setDatePickerMode:UIDatePickerModeDateAndTime];
............................................................
..............................................................
[_graphDate setHidden:TRUE];
[_graphDate setFrame:CGRectMake(600, 600, 400, 162)];
_toDate.inputView = _graphDate;
_fromdate.inputView = _graphDate;
_graphDate.date = [NSDate date];
The exception message,
Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason:
'child view controller:<UICompatibilityInputViewController: 0x80286850>
should have parent view controller:<VALiveViewController: 0x7cbeda00>
but requested parent is:<UIInputWindowController: 0x7cc25a00>'
I already refereed the answer here UIViewControllerHierarchyInconsistency in 64 bit iOS device but no idea how to apply here, I am newbie in IOS.
Any help will be appreciated.
Thanks,
Haris
I added a view to my app that I open from a button and can't find what I'm doing wrong.
I triple checked that dataSource & delegate are connected to File's Owner
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<HelpViewController 0xab58980> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key Picker.'
The code in my viewcontroller.h
#interface LanguageSelectionViewController : UIViewController {
IBOutlet UILabel *label;
IBOutlet UIPickerView *Picker;
NSArray *PickerData;
}
#property (retain, nonatomic) IBOutlet UIPickerView *Picker;
#property (retain, nonatomic) NSArray *PickerData;
#end
Anyone got a solution or a tip in the right direction?
Go to your storyboard click the helpviewcontroller (the whole thing so you have a blue outline around the view) now with the utility toolbar (toolbar on the right) click the arrow (the right most icon) you should see a ! mark on one of the connections. Delete that and it should work.
I have a table view with a list of categories that I would like the user to be able to select in order to rate. I've created a separate UIView (RateView) to manage the ratings within the detailviewcontroller.
I'm able to get the ratings to work fine when developing independently of the project and without a table. However, when incorporating the code for tracking ratings into storyboard and with a table, I receive the following error when attempting to navigate from the table to the detail view:
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setNotSelectedImage:]: unrecognized selector sent to instance 0xad9b280' (notSelectedImage is a property of the UIView titled RateView).
Below are the interface files for each of the referenced view controllers.
* RatingsList_ViewController *
#import <UIKit/UIKit.h>
#import "Rate_ViewController.h"
#interface RatingsList_ViewController : UITableViewController
- (IBAction)dismissModal:(id)sender;
#end
Here is the SEGUE within the table to Rate_ViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:#"toRateDetail" sender:self];
Rate_ViewController *rateCategory;
rateCategory = (Rate_ViewController *) self.navigationController;
}
* Rate_ViewController *
#import <UIKit/UIKit.h>
#import "RateView.h"
#interface Rate_ViewController : UIViewController <UITextFieldDelegate, RateViewDelegate>
#property (weak, nonatomic) IBOutlet RateView *rateView;
#property (weak, nonatomic) IBOutlet UILabel *statusLabel;
#property (weak, nonatomic) IBOutlet UITextField *notesField;
#end
I suspect that I've not delegated properly but any assistance you could provide would be most appreciated.
Thanks in advance!