Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Двойной указатель - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Свойства класса http://www.cyberforum.ru/objective-c/thread1273946.html
Здравствуйте! Пытаюсь разобраться со старым и новым способами записи свойств класса. Нашел здесь ссылку http://www.cyberforum.ru/objective-c/thread1094903.html , но не все понял. Вот класс со...
Objective-C Как сделать принятие классом протокола только при определенных условиях? Доброго, всем, времени суток. В iOS 8 был "деприкейтед" UIAlertView. Вместо него теперь UIAlertController, которы не требует предварительного принятия протокола UIAlertViewDelegate. Но, чтобы... http://www.cyberforum.ru/objective-c/thread1273741.html
Загрузка файлов в iCloud Objective-C
Приветствую! Подскажите пожалуйста, как можно загрузить файл в облако на языке ObjC с айфона, так чтобы этот файл получить на другом устройстве(с того же аккаунта iCloud). У меня получилось...
Получение уникального id девайса Objective-C
Добрый день. Насколько я знаю, получение imei на ios7 и выше невозможно. Есть ли какой то другой метод получить уникальный id устройства, и не отвергнет ли apple приложение, отсылающее этот id на...
Objective-C Нарисовать линию по клику кнопки http://www.cyberforum.ru/objective-c/thread1269874.html
Как рисовать линию по клику кнопки? Код: NSBezierPath *p = ; ; ; ; ; работает только в методе инициализации приложения (тот что в AppDelegate), и то при изменении размера окна линия...
Objective-C Не выводится результат Здравствуйте! Только начал изучать язык(перешел с C++) и столкнулся с проблемой: в консоль не выводится сумма двух чисел #import <Foundation/Foundation.h> @interface Sum : NSObject подробнее

Показать сообщение отдельно
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225

Двойной указатель - Objective-C

13.10.2014, 12:49. Просмотров 725. Ответов 3
Метки (Все метки)

Все привет!

В процессе работы возникла у меня необходимость проверить одну фичу, для чего надо было по-быстрому накатать тестовый метод условного вида:
Objective-C
1
2
3
4
5
6
- (void)addSomeValueToDict:(NSDictionary *)dict
{
NSMutableDictionary *mutableCopy = [dict mutableCopy];
[mutableCopy setObject:@"Obj" forKey:@"Key"];
dict = mutableCopy;
}
В результате этой операции у меня мой dict изменялся только локально, внутри метода. А "снаружи", после выполнения этого метода кол-во его элементов не менялось.

Ступора не произошло, поменял входной параметр на NSDictionary ** с соответствующими сопроводительными коррективами и все завелось.

Но, тем не менее, окончательного понимания исправления у меня не появилось((
Ведь, используя (NSDictionary *)dict мы передаем указатель на объект. Следовательно, имея указатель, мы, по моему пониманию, можем изменять объект, как нам заблагорассудится (в голове сразу возникает стандартная сишная задачка из серии "поменяйте местами две переменные").
Почему в Objective-C необходимо передавать двойной указатель, чтобы выполнить такое действие?

Поясните, пожалуйста, буду очень благодарен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru