我想为来自First NSObject的第二个NSObject中的NSString *分配值,并且我想从Viewcontroller访问Assigned值。
我尝试了上面的代码它对我不起作用。
它返回null
我做错了什么?
这是我的第一个Viewcontroller:
#import <UIKit/UIKit.h>
#import "First.h"
#import "Second.h"
@interface testAppViewController : UIViewController
{
First *F;
Second *S;
}
@end
这是我的.con of 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 =@"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
答案 0 :(得分:1)
如果您希望按照书面形式运作,则需要将其更改为:
NSLog(@"Second value==> %@", F.S.Just);
在您的First
对象上,您需要添加@property
以展示S
属性(并合成它)。
答案 1 :(得分:0)
您尝试打印的'S'对象只是值,与您设置值'hi'的'S'对象不同。
这是两个不同的实例。 第一个是视图Controller的实例,第二个是'First'类的实例,对象F。
知道了吗?