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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Light19
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 16
03.11.2011, 14:59     Общие ресурсы #1
Подскажите новичку... вот я создал в одном классе игры переменную, содержащую текстуры к игре. Как иметь доступ к этой переменной из другого класса?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2011, 14:59     Общие ресурсы
Посмотрите здесь:

C++ Qt Общие вопросы по Qt
Один из компьютеров не пингуется, но общие ресурсы доступны
Общие ресурсы для локальных пользователей одной машины под Windows XP Windows XP
Общие вопросы 1С
Общие папки
Рассчитать общие, предельные, средние постоянные, средние переменные и средние общие затраты предприятия
Objective-C Как подключать ресурсы к проекту?
Общие модули БП 2.0 и 3.0 1С
Общие сетевые ресурсы между windows 7, 8.1 и XP Windows
Windows Server Не видны общие ресурсы на одном из компьютеров домена
Windows Phone Общие переменные
Как рассчитать средние общие издержки, общие издержки, доход, прибыл предприятия?

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

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

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

И допустим у меня есть класс Playground, который должен иметь доступ к texture из класса Resources. Можно пример кода для всех трех пунктов?
Splitter
 Аватар для Splitter
201 / 143 / 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. В кратце синглетон - это такой класс который может в приложении существовать только в единичном экземпляре, и где-бы Вы его не объявили он возвращает указатель на уже созданный ранее объект, и Вы получаете из любого класса приложения доступ к ресурсам этого объекта...
Light19
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 16
04.11.2011, 22:30  [ТС]     Общие ресурсы #5
Спасибо!!
Yandex
Объявления
04.11.2011, 22:30     Общие ресурсы
Ответ Создать тему
Опции темы

Текущее время: 15:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru