2013-12-25 4 views
-1

Я хочу присвоить значение для NSString *, которое находится во втором NSObject из первого NSObject, и я хочу получить доступ к присваиваемому значению из Viewcontroller.Передача объектов между NSObjects в ios

Я пробовал вышеуказанный код Это не работает для меня. Он возвращает null

Что я делаю неправильно ??

Это мой первый ViewController:

#import <UIKit/UIKit.h> 
#import "First.h" 
#import "Second.h" 
@interface testAppViewController : UIViewController 

{ 
    First *F; 
    Second *S; 
} 
@end 

Это мой .m из ViewController:

F =[[First alloc]init]; 

    [F Add]; 
    NSLog(@"Second value==> %@",S.Just); 

Это мой первый NSObject class.h

@interface First : NSObject 
    { 
     Second *S; 
    } 

-(void)Add; 

Это первый NSObject class.m

#import "First.h" 

    @implementation First 
    -(void)Add{ 
    NSString *c; 

    c [email protected]"hi"; 

    S=[[Second alloc]init]; 

    [S setJust:c]; 

    } 
    @end 

Это мой второй NSObject .h

@interface Second : NSObject 
@property(nonatomic,strong)NSString *Just; 

@end 

Это Второй NSObject .m

@implementation Second 

    @synthesize Just; 

@end 

ответ

1

Если вы хотите, чтобы это работало, как написано вам нужно изменить его на:

NSLog(@"Second value==> %@", F.S.Just); 

И на вашем First объекте вам нужно добавить @property подвергать S свойство (и синтезировать).

0

Объект 'S' Вы пытаетесь напечатать значение Just, не то же самое «S 'объект вы устанавливаете значение' hi '.

Это два разных экземпляра. Первый экземпляр контроллера вида, а второй - экземпляр класса «Первый», объект F.

Есть ли?

Смежные вопросы