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

Objective-C

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Light19
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 16
#1

Общие ресурсы - Objective-C

03.11.2011, 14:59. Просмотров 1418. Ответов 4
Метки нет (Все метки)

Подскажите новичку... вот я создал в одном классе игры переменную, содержащую текстуры к игре. Как иметь доступ к этой переменной из другого класса?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2011, 14:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Общие ресурсы (Objective-C):

Как подключать ресурсы к проекту? - Objective-C
Подскажите или тыкните носом где можно прочесть, как подключать ресурсы к проекту Cocoa framework и потом их подключать. В MSVS это...

Подскажите ресурсы/документацию по Cocos2D - Программирование iOS
Добрый день. Подскажите пожалуйста где можно найти хорошую документацию по архитектуре движка Cocos2D for iOS. Все что находил очень...

Общие сетевые ресурсы между windows 7, 8.1 и XP - Windows
после установки 8.1 64 на комп пропадают шары на вин 7 а ХП теряет доступ к рабочей группе до установки всё работало без глюков после...

Не видны общие ресурсы на одном из компьютеров домена - Windows Server
Приветствую всех. Имеется комп в Windows Server 2012 и парк техники (около 20 машин) на разных версиях ОС - Windows XP и Windows 7 (больше...

Один из компьютеров не пингуется, но общие ресурсы доступны - Сетевое оборудование
Ситуация такая: Имеется одноранговая сеть из 15 компов, 14 из которых подключены через прокси к Интернету. Сообщают, что на одном из...

Общие ресурсы для локальных пользователей одной машины под Windows XP - Windows XP
Подскажите пожалуйста!!!:senor: как настроить Общие ресурсы для локальных пользователей одной машины под Windows XP. Проблема следующая:...

4
Splitter
202 / 144 / 5
Регистрация: 13.01.2009
Сообщений: 554
03.11.2011, 15:08 #2
1 объявить в другом классе такую же переменную, и в нее передать адрес первой переменной.
2 передать во второй класс указатель на первый класс и пользоваться всеми его ресурсами
3 сделать в проекте синглетон, в котором хранить данные которыми должны пользоваться другие классы и оперировать этими данными
0
Light19
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 16
03.11.2011, 16:38  [ТС] #3
А вы могли бы пример кода написать? Искал в книгах по Objective c, но там только простые вещи. Про все это я там по крайней мере не нашел.

Допустим у меня класс Resources, в котором я инициализирую в самом начале переменную texture, к которой должен быть общий доступ.

И допустим у меня есть класс Playground, который должен иметь доступ к texture из класса Resources. Можно пример кода для всех трех пунктов?
0
Splitter
202 / 144 / 5
Регистрация: 13.01.2009
Сообщений: 554
04.11.2011, 03:05 #4
это не 3 пункта, это 3 разных варианта как получить из одного класса доступ к ресурсам другого класса.

1 объявить в другом классе такую же переменную, и в нее передать адрес первой переменной.
допустим в первом классе у нас есть переменная
Objective-C
1
NSString *string;
во втором классе объявляем переменную
Objective-C
1
NSString *sharedString;
описываем ее проперти
Objective-C
1
@property(nonatomic, retain) NSString *sharedString;
и в м файле не забываем синтезировать геттер и сеттер
Objective-C
1
@synthesize sharedString;
Теперь когда в объекте первого класса создаем обект второго класса, что-то типа
Objective-C
1
Class2 *class2 = [[Class2 alloc] init];
передаем в него нашу переменную
Objective-C
1
class2.sharedString = string;
2 передать во второй класс указатель на первый класс и пользоваться всеми его ресурсами

все аналогично первому варианту но передаем во второй класс указатель на первый тогда нам доступны вообще все его ресурсы

во втором классе описываем переменную в которой будем хранить адрес первого

Objective-C
1
2
3
id delegate;
 
@property(nonatomic, retain) id delegate;
и в м как и раньше
Objective-C
1
@synthesize delegate;
после инита второго класса передаем в него адрес первого

Objective-C
1
2
Class2 *class2 = [[Class2 alloc] init];
class2.delegate = self;
теперь можем пользоваться перемегнной string из второго класса как например
Objective-C
1
NSLog(@"string value: @%", delegate.string);
3 сделать в проекте синглетон, в котором хранить данные которыми должны пользоваться другие классы и оперировать этими данными

синглетон - это просто паттерн, долго рассказывать просто почитайте здесь
там, описание и примеры реализаций на куче языков, в тч и на objective-c. В кратце синглетон - это такой класс который может в приложении существовать только в единичном экземпляре, и где-бы Вы его не объявили он возвращает указатель на уже созданный ранее объект, и Вы получаете из любого класса приложения доступ к ресурсам этого объекта...
1
Light19
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 16
04.11.2011, 22:30  [ТС] #5
Спасибо!!
0
04.11.2011, 22:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2011, 22:30
Привет! Вот еще темы с ответами:

Многопоточность для Windows. Ресурсы языка программирования vs Ресурсы WinAPI - C++ WinAPI
Добрый день. Подскажите пож-та, если пишется многопоточное приложение для Windows например на C++ (2011 и выше), то в каких случаях...

Как рассчитать средние общие издержки, общие издержки, доход, прибыл предприятия? - Экономика
Фирма производит 10 единиц продукции. Средние постоянные издержки равны 25 у. е., средние переменные – 35 у. е. Цена единицы продукции – 70...

Рассчитать общие, предельные, средние постоянные, средние переменные и средние общие затраты предприятия - Экономика
Задание 6. Рассчитать общие, предельные, средние постоянные, средние переменные и средние общие затраты предприятия, если известно, что...

Общие записи - LINQ
Есть такая структура: Нагрузка(преподавателя) у нее поля Учитель и Група. В одном ListBox выбраны групы, в другом --учителя надо получить...


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

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

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