/ / Passage d'objets entre NSObjects dans ios - ios, objective-c, ios7, viewcontroller, nsobject

Passage d'objets entre NSObjects dans ios - ios, objective-c, ios7, viewcontroller, nsobject

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 № 1

Si 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?