I'm completely new to iOS dev and using a book to learn. Following the directions in one of the early chapters, I wrote a short app (code below). It just takes some text input and changes a label's text to match it. However, upon running the code in the simulator, I get the following error upon clicking into the textfield:
2012-06-08 11:26:06.595 HelloNoun[14926:f803] Opening '/Users/clhu/Library/Application Support/iPhone Simulator/5.1/Library/Caches/com.apple.keyboards/images/1859589221' failed: 'No such file or directory' (2)
2012-06-08 11:26:06.702 HelloNoun[14926:f803] 'INSERT INTO store VALUES (?,?,?,?,?,?,?,?)' constraint failed (19)
then, when I press the button to set the label, I get these errors as well:
2012-06-08 11:27:09.050 HelloNoun[14926:f803] -[UIView text]: unrecognized selector sent to instance 0xb75ac80
2012-06-08 11:27:09.051 HelloNoun[14926:f803] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView text]: unrecognized selector sent to instance 0xb75ac80'
* First throw call stack:
(0x13c7022 0x1558cd6 0x13c8cbd 0x132ded0 0x132dcb2 0x21a7 0x13c8e99 0x1414e 0x140e6 0xbaade 0xbafa7 0xba266 0x393c0 0x395e6 0x1fdc4 0x13634 0x12b1ef5 0x139b195 0x12ffff2 0x12fe8da 0x12fdd84 0x12fdc9b 0x12b07d8 0x12b088a 0x11626 0x1dad 0x1d15) terminate called throwing an exception(lldb)
I've looked over my connections and retraced my steps several times now and don't see anything blatantly wrong (although I am definitely very new to this). Could anyone help point me in the right direction? Thanks!
Here's the code:
// ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UILabel *userOutput;
@property (strong, nonatomic) IBOutlet UITextField *userInput;
- (IBAction)setOutput:(id)sender;
@end
and
// ViewController.m
#import "ViewController.h"
@implementation ViewController
@synthesize userOutput;
@synthesize userInput;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewDidUnload
{
[self setUserOutput:nil];
[self setUserInput:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (IBAction)setOutput:(id)sender
{
self.userOutput.text = self.userInput.text;
}
@end
I have never seen the first error before but you could try deleting the caches folder at the path /Users/clhu/Library/Application Support/iPhone Simulator/5.1/Library/Caches
. The simulator should be smart enough to recreate it.
For the second error, I usually see that when I connect a property to the wrong view in the NIB. It looks like the property userOutput
is pointing at a UIView instead of a UITextField. You could check the connections in your NIB or print out the value of userOutput by adding the following line to
setOutput:
.
NSLog(@"%@", self.userOutput);
The output in you log should look something like
<UITextField: 0x6fea9f0; frame = (0 0; 100 31); clipsToBounds = YES; opaque = NO; layer = <CALayer: 0x6fec700>>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With