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

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
#1

Доступные всем статичные объекты - Программирование iOS

07.04.2015, 22:30. Просмотров 591. Ответов 2
Метки нет (Все метки)

Как в ios реализовать подобное? Например, в java выглядит так:
Java
1
2
3
4
5
6
7
public class SomeClass{
    public static final int SOME_PARAM_1 = 0;
    public static final int SOME_PARAM_2 = 1;
}
 
//И дальше в любом месте в программе:
    int myParam = SomeClass.SOME_PARAM_1;
Есть ли что-то такое в objective-c? Или может там другими способами такое решается?

Добавлено через 4 часа 35 минут
Может не понятно объяснил - для примера, как решается ситуация, когда нужно послать в метод один из заранее определенных значений, день недели, к примеру? Причем чтобы эти параметры были доступны по всей программе, в любом классе. То есть, скажем, есть класс Calendar и у него метод setDayOfWeek, который принимает один из дней недели, а если параметр не соответствует дню недели - выбрасывает исключение.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2015, 22:30     Доступные всем статичные объекты
Посмотрите здесь:

Не создаются объекты на ViewController - Objective-C
Здравствуйте. Имел 2 вью контроллера, нажимал на одном кнопку - создавался объект на другом. Использовал такой код: UIStoryboard...

Объекты доступные отовсюду? - Java SE
Как создавать объекты доступ к которым можно получить из любой части программы? например при создании объекта в одном окне и работы с ним...

Переменные доступные всем классам - C++/CLI
Необходимо создать переменную, которая будет хранить в себе какое-то значение и это значение можно изменить в других классах Примерно я...

Переменные доступные всем классам - C++
Необходимо создать переменную, которая будет хранить в себе какое-то значение и это значение можно изменить в других классах Примерно я...

Статичные классы и синглтоны - Java SE
начал учить java, есть несколько вопросов: 1. не получается объявить статичный класс... вообще, вроде читал что тут они есть, так...

Добавить в Math некоторые статичные методы и константы - C#
Добрый день. Нужно добавить в Mathf некоторые статичные методы и константы. Можно ли это как-то сделать? В интернете нашёл только как...

OpenCV CLR статичные и динамические библиотеки в Visual Studio - C++
Доброго времени суток, проблема такая: собрал OpenCV со статичными библиотеками, чтобы иметь возможность запускать на других компьютерах....

Большие серые статичные курсоры - что это, расскажите? - MS Word
Друзья, подскажите, что это за такие большие серые курсоры? (Смотрите на картинке после заголовков "Оператор вызова процедуры" и "Составной...

Как сделать статичные страницы с разными структурами HTML? - DLE
Добрый день! Собственно сам вопрос: "Как сделать так, чтобы на другой статичной странице выводилась другая по структуре HTML от главной...

Можно ли в методах кнопки сослатся на не статичные поля панели? - Java
Имеется 2 класса - кнопка и панель. В экземпляр панели добавляю экземпляр класса. Можно ли в методах кнопки сослатся на не статичные...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HellBoy4eG
7 / 7 / 1
Регистрация: 15.10.2013
Сообщений: 18
15.04.2015, 17:32     Доступные всем статичные объекты #2
Используй синглтон:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@interface TestClass : NSObject
 
@end
 
@implementation TestClass
@property (strong, nonatomic) NSDate* date;
 
// Singletone
+(id)sharedTestClass
{
    static TestClass *shared = nil;
    @synchronized(self)
    {
        if(shared == nil)
        {
            shared = [[TestClass alloc] init];
        }
    }
    return shared;
}
 
 
@end
вызываешь в другом классе без инициализации
Objective-C
1
2
3
4
5
6
//Getter
NSDate* yourDate = [TestClass sharedTestClass]. date
 
//Setter
NSDate* yourDate = [Nsdate date]
[TestClass sharedTestClass]. date =  yourDate
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
16.04.2015, 16:33     Доступные всем статичные объекты #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
HellBoy4eG, ну здравствуйте, без инициализации... у синглтона уже есть инициализация...
Spelcrawler, так как Objective-C это Си в первую очередь, рассмотрите вариант использования extern в .h файле
Например так:
Objective-C
1
2
3
4
// .m file
NSString* const MyExternVar = @"MyExternVar";
// .h file
extern NSString* const MyExternVar;
Но если хочется сделать конкретно в классе - можете воспользоваться статичными методами, они объявляются через +
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
@interface MyClass : NSObject
 
+ (NSString *)aClassMethod;
 
@end
 
@implementation MyClass : NSObject
 
+ (NSString *)aClassMethod {
    return @"TestString";
}
 
@end
Yandex
Объявления
16.04.2015, 16:33     Доступные всем статичные объекты
Ответ Создать тему
Опции темы

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