Here is my code:
FirstViewController.h
#import <UIKit/UIKit.h>
@interface FirstViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIButton *accessButton;
@property (weak, nonatomic) IBOutlet UITextField *codeField;
@property (nonatomic, retain) NSString *getCodeString;
@end
SecondViewController.h
#import <UIKit/UIKit.h>
@class CodeField;
@protocol CodeFieldHandlerDelegate <NSObject>
@property NSString *saveCodeString;
@end
@interface SecondViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *candidateLabel;
@property (weak, nonatomic) id <CodeFieldHandlerDelegate> myDelegate;
@end
FirstViewController.m
#import "FirstViewController.h"
#import "SecondViewController.h"
@interface FirstViewController ()
<CodeFieldHandlerDelegate>
@property (nonatomic, strong) SecondViewController *secondViewController;
@end
@implementation FirstViewController
@synthesize getCodeString;
@synthesize secondViewController;
@synthesize saveCodeString;
- (void)viewDidLoad {
[super viewDidLoad];
}
- (IBAction)accessButton:(UIButton *)sender {
//get the input data from text field and store into string
getCodeString = self.codeField.text;
//go keypad back when button clicked from textfield
[self.codeField resignFirstResponder];
secondViewController = [[SecondViewController alloc] init];
secondViewController.myDelegate = self;
[self.navigationController pushViewController:secondViewController animated:YES];
}
// name of this string is the same of the NSString in the delegate
- (NSString *) saveCodeString {
return getCodeString;
}
@end
And SecondViewController.m
#import "SecondViewController.h"
@interface SecondViewController ()
@end
@implementation SecondViewController
@synthesize candidateLabel;
@synthesize myDelegate;
- (void)viewDidLoad {
[super viewDidLoad];
self.candidateLabel.text = [myDelegate saveCodeString];
}
@end
Em quinta-feira, 10 de setembro de 2015 23:07:37 UTC-3, Pascal J. Bourguignon escreveu:
Ronaldo Bahia <[email protected]> writes:
I'm learning objective c and need help to understand delegate.
I have a UITextField in the FirstViewController and I want to show the
text inputed in the SecondViewController.
But it's not working. What am I doing wrong?
Here is the thread:
http://stackoverflow.com/questions/32513570/objective-c-text-field-with-delegate-not-working
It would be easier if you copy-pasted the text here, along with the
sources.
--
__Pascal Bourguignon__ http://www.informatimago.com/
"The factory of the future will have only two employees, a man and a
dog. The man will be there to feed the dog. The dog will be there to
keep the man from touching the equipment." -- Carl Bass CEO Autodesk
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)