我想从不同的类中分配一个整数数据的值。所以我做了以下事情:
我想从A类中分配一个声明为B类属性的值:
B.h文件中的
@interface B : UIViewController {
int num;
}
@property(readwrite)int num ;
B.m文件中的
@synthesize num;
现在在A.h文件中
@property(nonatomic,strong)B *b;
然后在A.m文件中
b=[[B alloc]init];
b.num=5;
问题是当我使用
对NS进行NSLOG时 NSLog(@"The Number is %d",num);
在B类中它始终显示0,我尝试使用NSString
并且它也传递NULL。我被困在这里,请任何人帮忙吗?
答案 0 :(得分:2)
B.h档案
@interface B : UIViewController{
int num;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil passingNum:(int)pNumber;
@end
B.m文件
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil passingNum:(int)pNumber{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
num = pNumber;
}
return self;
}
A.h档案
@property(nonatomic,strong)B *b;
A.h档案
b = [[b alloc] initWithNibName:@"Here-WriteNameOF-XIB-file-associated-with-b" bundle:nil passingNum:5];
答案 1 :(得分:1)
我这样解决了这个问题
在B级
-(id)initwithParameters:(NSString *)parameter
{
if(self == [super init])
{
// access the paramenter and store in yo u avariable
}
return self;
}
在课堂上
[[class b alloc]initwithParameters:@"Something"];