2013-10-01 4 views
1

У меня есть класс под названием TimeLineViewController, который унаследован от MyViewController. Мне нужно передать значение переменной от MyViewController до TimeLineViewController. Как мне это сделать ?Как передать значение переменной в унаследованном классе

MyViewController.h

@interface MyViewController : TimeLineViewController { 
..... 
} 

В TimeLineViewController.h я есть String *str назначены. От MyViewController.m Мне нужно передать значение переменной String *str в классе TimeLineViewController. Как я могу это сделать.

Я пробовал следующее с MyViewController.m, но никто не работал.

[super str][email protected]"hi"; 
+0

Что случилось с [себе SetSTR: @ "привет"]? –

ответ

0

str Если это свойство внутри класса TimeLineViewController вы можете получить к нему доступ через наследование в MyViewController. Поэтому, если вы измените его на MyViewController, он также изменится и для отца.

Помните:

A  

    | 

    B 

если в A у вас есть свойство c, то вы можете сделать B.c.

Прочитано this.

1

Точка наследования использует существующую функциональность и расширение его для конкретных нужд по классу суб (ов)

Итак ... Если ваш TimeLineViewController наследует от MyViewController нет никакой необходимости объявлять член снова в TimeLineViewController и вы можете просто использовать его с, так как он был уже объявлен для MyViewController:

self.str = @"hi"; 
0

Из док яблока,

Переменная экземпляра доступна в классе, объявляющем его и внутри классов, наследующих его. Все переменные экземпляра без директивы явного масштаба имеют @ защищенную область.

Таким образом, вы можете просто использовать в качестве

super.str = @"hi"; 
0

Вы должны сеттер или недвижимость в TimeLineViewController.

Затем вы можете использовать

[self setStr:@""]; 

или

self.str = @""; 
Смежные вопросы