这是我一直对
感到困惑的事情我似乎永远无法找到一个好的解释,我理解继承,但是从我学到的知识是在主类和它们的子类之间...如果我想将NSString传递给另一个不是另一个
的子类以下是一个例子:
class1.h
@interface class1 : UIViewController{
NSString *string
}
@property (nonatomic, retain) NSString *string
@end
class1.m
@implementation class1
@synthesize string;
-(void)viewDidLoad{
string = @"IM A STRING AHHH";
}
现在让我说我想把那个字符串传递给它等于另一个类
class2.h
#import "class1.h"
@interface class2 : UIViewController{
}
@end
class2.m
@implementation class2
//i want to use the NSString in here, how do i do that?
谢谢, 雅各布
答案 0 :(得分:2)
首先在第1课中使用[string retain];
。
然后,在类2中,导入类1.使类1的对象说cls1。并且您可以通过cls1.string;
答案 1 :(得分:1)
您可以创建class1
的实例,然后只需调用
string
[instance string];
或
instance.string
如果您不想创建class1
的实例,可以定义一个方法,例如
+(NSString*)getString;
然后从class2
[class1 getString];
答案 2 :(得分:1)
Smiriti的回答是正确的......
你还能做些什么......
覆盖init
方法并将NSString
作为参数传递并使用。
答案 3 :(得分:1)
如果从类1加载第2类,您可以将该值作为参数发送。
-(id)initwithParameters:(NSString *)parameter
{
if(self == [super init])
{
// access the paramenter and store in yo u avariable
}
return self;
}
在第1课
[[class 2 alloc]initwithParameters: ]