我有一个名为TimeLineViewController
的类,它继承自MyViewController
。我需要将值传递给从MyViewController
到TimeLineViewController
的变量。我该怎么办?
MyViewController.h
@interface MyViewController : TimeLineViewController {
.....
}
在TimeLineViewController.h
我已分配String *str
。从MyViewController.m
我需要将值传递给String *str
类中的TimeLineViewController
变量。我怎么能这样做。
我从MyViewController.m
尝试了以下内容,但都没有效果。
[super str]=@"hi";
答案 0 :(得分:1)
继承点是使用现有功能并通过子类扩展它以满足特定需求
所以...如果您的TimeLineViewController
继承自MyViewController
,则无需再次在TimeLineViewController
中声明该成员,您可以使用它,因为它已经为MyViewController
声明了{1}}:
self.str = @"hi";
答案 1 :(得分:0)
如果str
是类TimeLineViewController
中的属性,则可以通过MyViewController
中的继承访问它。因此,如果你在MyViewController
中更改它,它也会改变为父亲。
记住:
A
|
B
如果在A
中你有一个属性c
,那么你可以B.c
。
阅读this。
答案 2 :(得分:0)
来自苹果的文档,
实例变量可在声明它的类中访问 并在继承它的类中。所有实例变量都没有 显式范围指令具有@protected范围。
所以你可以使用
super.str = @"hi";
答案 3 :(得分:0)
你应该在TimeLineViewController中有setter或property。
然后你可以使用
[self setStr:@""];
或
self.str = @"";