Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
usuf
3 / 3 / 0
Регистрация: 21.02.2011
Сообщений: 78
1

ref

20.09.2011, 16:17. Просмотров 843. Ответов 3
Метки нет (Все метки)

есть на С# такая штука как ref (Reference) (вот статейка http://msdn.microsoft.com/ru-ru/library/14akc2c7.aspx, если кому интерестно). Ее суть состоит в том что я могу послать ссылку на объект в параметрах функции и тогда в функции буду выполнять любые действия с объектом и после окончания функции состояние сохранится там где я ее вызвал.. может немного криво написано, но сейчас кину пример на С# и станет все понятно:
C#
1
2
3
4
5
6
7
8
9
10
11
private void MyFunc1()
{
    string text1 = "usuf";
    Console.Writeln(text1); //тут у нас покажет usuf
    MyFunc2(ref text1);
    Console.Writeln(text1); //а тут у нас покажет hello usuf
}
private void MyFunc2(ref text2)
{
    text2="hello "+text2;
}
Как такое же реализовать на objective c не могу найти, может кто стыкался и подскажет)) Заранее благодарен))

Добавлено через 59 минут
да еще молодой форум
и снова сам нашел решение, хотя и пришлось изрядно покопаться и-за "прекрасного" синтаксиса языка))
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
-(void)Func1
{
    NSString * myText = @"usuf";
    NSLog(@"%@",myText); //тут у нас покажет usuf
    [self Func2: &myText];
    NSLog(@"%@",myText); //а тут у нас покажет Hello usuf
}
    
-(void)Func2:(NSString**) text
{
    *text = [@"Hello " stringByAppendingString:*text];
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2011, 16:17
Ответы с готовыми решениями:

Полиморфизм: ошибка преобразование типа из "ref cl_child" в "ref cl_proto" невозможно
Создал класс предок cl_proto, объявил класс потомок cl_child : cl_proto. Написал отдельную функцию...

Ошибка Cannot convert from 'ref decimal' to 'ref decimal?
Здравствуйте подскажите пожалуйста почему в строке ...

$ref
Подскажите пожалуйста как поменять $REF не меняя тип данных?

Использование ref out
помогите пожалуйста разобраться когда и зачем нужно использовать передачу объектов по ссылке с...

Модификатор ref
Объясните новичку, какой смысл конкретно здесь использовать этот самый REF если МетодБ сделает тоже...

3
Splitter
203 / 145 / 16
Регистрация: 13.01.2009
Сообщений: 554
25.09.2011, 21:43 2
да еще молодой форум
просто этот раздел малопопулярен, мало народа на objective-c пишет )

Могу предложить вот такое решение:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
-(void)func1
{
    NSMutableString *myText = [NSMutableString stringWithString:@"usuf"];
    NSLog(@"============ %@",myText); //тут у нас покажет usuf
    [self func2:myText];
    NSLog(@"============ %@",myText); //а тут у нас покажет Hello usuf
}
 
-(void)func2:(NSMutableString*)text
{
    [text insertString:@"Hello " atIndex:0];
}
передается только указатель, это лучше...
0
usuf
3 / 3 / 0
Регистрация: 21.02.2011
Сообщений: 78
25.09.2011, 21:47  [ТС] 3
спасибо за ответ, но мое решение подходит для любого типа, NSSting был только примером))
0
Splitter
203 / 145 / 16
Регистрация: 13.01.2009
Сообщений: 554
26.09.2011, 00:58 4
не за что, но думаю в большинстве случаев можно найти решение лучше чем передавать объект...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2011, 00:58

Field $ref
Подскажите пожалуйста, можно ли изменить родителя документа? Какие еще поля отвечают за связь с...

get set и ref
допустим есть класс . Как учили - закрытые члены - доступ через get set . (сам я лично не вижу в...

String to Ref
use feature "say"; use Devel::Peek; my $s = "string value"; my $ref = \$s; my $stringref...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru