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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Свойства класса http://www.cyberforum.ru/objective-c/thread1273946.html
Здравствуйте! Пытаюсь разобраться со старым и новым способами записи свойств класса. Нашел здесь ссылку http://www.cyberforum.ru/objective-c/thread1094903.html , но не все понял. Вот класс со свойством(Написал по аналогии с C++) @interface Person : NSObject { @protected NSInteger _a;
Objective-C Как сделать принятие классом протокола только при определенных условиях? Доброго, всем, времени суток. В iOS 8 был "деприкейтед" UIAlertView. Вместо него теперь UIAlertController, которы не требует предварительного принятия протокола UIAlertViewDelegate. Но, чтобы сделать поддержку iOS7 и ниже, этот протокол должен быть в случае если systemVersion] < 8. В связи с этим появился вопрос: как добавить принятие этого протокола только под старые версии iOS? Я подозреваю... http://www.cyberforum.ru/objective-c/thread1273741.html
Загрузка файлов в iCloud Objective-C
Приветствую! Подскажите пожалуйста, как можно загрузить файл в облако на языке ObjC с айфона, так чтобы этот файл получить на другом устройстве(с того же аккаунта iCloud). У меня получилось сохранить/передать строковые значения с помощью NSUbiquitousKeyValueStore, а вот с файлами беда :( Кто знает как это сделать, подскажите пожалуйста где можно почитать об этом подробно или рабочий пример...
Получение уникального id девайса Objective-C
Добрый день. Насколько я знаю, получение imei на ios7 и выше невозможно. Есть ли какой то другой метод получить уникальный id устройства, и не отвергнет ли apple приложение, отсылающее этот id на сервер?
Objective-C Нарисовать линию по клику кнопки http://www.cyberforum.ru/objective-c/thread1269874.html
Как рисовать линию по клику кнопки? Код: NSBezierPath *p = ; ; ; ; ; работает только в методе инициализации приложения (тот что в AppDelegate), и то при изменении размера окна линия исчезает! Что нужно дописать, чтобы код работал в методе вида -(IBAction) ??
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. Просмотров 704. Ответов 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 необходимо передавать двойной указатель, чтобы выполнить такое действие?

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