i’ve been doing a thing here using objective-c, but i’m a beginner in this language, and that’s what i did:
there is a class, named “firstviewclass”, that is in the control of my first view, in this view there is a textfield that the user puts a number. the textfield is in the firstviewclass.h named “setNumber”. There is another class, named “secondviewclass” that is in control of the second view, in this view there is a label that is in the secondviewclass.h, and i want that this label recive the value that the user put in the textfield from the first view. my codes:
firstviewclass.h:
#import <UIKit/UIKit.h>
@interface firstviewclass : UIViewController
@property (strong, nonatomic) IBOutlet UITextField *setNumber;
- (IBAction)gotonextview:(id)sender;
@end
secondviewclass.h:
#import <UIKit/UIKit.h>
#import "firstviewclass.h"
@interface secondviewclass : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *labelthatrecivesthetextfieldvalue;
@end
secondviewclass.m:
#import "secondviewclass.h"
#import "firstviewclass.h"
@implementation secondviewclass
@synthesize labelthatrecivesthetextfieldvalue;
-(void)viewDidLoad{
[super viewDidLoad];
firstviewclass *object = [[firstviewclass alloc] init];
NSString *string = [[NSString alloc] initWithFormat:@"%i", [object.setNumber.text intValue]];
labelthatrecivesthetextfieldvalue = string; //here is where that error appears "incompatible pointer types assigning to 'UILabel *__weak' to 'NSString *__strong'"
}
@end
I’ve changed what you had told me to change, but when i test it on the simulator any number that i put in the textfield it appears in the label as 0… i really don’t know what to do!
It should be:
Under the hood:
After your xib instantiated an
UILabeland you get its reference using theIBOutletkeyword, you are then trying to use theUILabelpointer to point to a space in memory allocated and instantiated for aNSString, that’s why you are having this problem. You probably also did get a warning about that assignment you tried to do:You should always try to fix warnings.
What you want:
You simply want the
UILabelto display theNSStringyou just created, and for that you should use theUILabel'stext property.