Je veux attribuer une valeur à NSString * qui se trouve dans le deuxième NSObject du premier NSObject et je veux accéder à la valeur assignée à partir du Viewcontroller.
J'ai essayé le code ci-dessus. Cela ne fonctionne pas pour moi. Il revient null
Qu'est ce que je fais mal??
Ceci est mon premier Viewcontroller:
#import <UIKit/UIKit.h>
#import "First.h"
#import "Second.h"
@interface testAppViewController : UIViewController
{
First *F;
Second *S;
}
@end
Voici mon .m de Viewcontroller:
F =[[First alloc]init];
[F Add];
NSLog(@"Second value==> %@",S.Just);
Ceci est ma première classe NSobject.h
@interface First : NSObject
{
Second *S;
}
-(void)Add;
Ceci est la première classe NSObject.m
#import "First.h"
@implementation First
-(void)Add{
NSString *c;
c =@"hi";
S=[[Second alloc]init];
[S setJust:c];
}
@end
Ceci est mon deuxième NSobject .h
@interface Second : NSObject
@property(nonatomic,strong)NSString *Just;
@end
Il s'agit du deuxième NSObject .m
@implementation Second
@synthesize Just;
@end
Réponses:
1 pour la réponse № 1Si vous voulez que cela fonctionne comme écrit, vous devez le changer en:
NSLog(@"Second value==> %@", F.S.Just);
Et sur votre First
objet que vous "devez ajouter @property
exposer le S
(et synthétisez-la).
0 pour la réponse № 2
L'objet "S" que vous essayez d'imprimer Just value n'est pas le même objet "S" que vous avez défini la valeur "hi".
Ce sont deux instances différentes. Le premier est une instance du contrôleur de vue, et le second est une instance de la «première» classe, objet F.
Je l'ai?