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

Objective-C

Войти
Регистрация
Восстановить пароль
 
Prorok2323
34 / 126 / 43
Регистрация: 04.12.2013
Сообщений: 550
#1

Референция в Objective-C - Objective-C

26.08.2014, 13:00. Просмотров 848. Ответов 9
Метки нет (Все метки)

Всем привет.

Многие, кто пишет на Java, знают, что там есть возможность передавать референцию на объекты между классами. Делегирование в общем. То есть что-то вроде:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Class Aaa {
 
   Bbb reference;
 
public Aaa (Bbb reference) {
  this.reference = reference;
}
 
Class Bbb {
 
   int a = 10;
 
}
 
public static void main (String[] args) {
    Bbb objectB = new Bbb();
    Aaa objectA = new Aaa(objectB);
    objectA.a = 14; //таким образом переменная "а" изменилась в объекте objectB
}
Вопрос: как реализовать подобное в Objective-C, если я например хочу в классе A изменить/получить/установить значение на слайдере, который объявлен в классе B? (iOS)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2014, 13:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Референция в Objective-C (Objective-C):

Рисование в Objective-C - Objective-C
Доброго времени суток. Подскажите пожалуйста как на Objective-C в Xcode реализовать что та типа Paint. Подскажите хотя бы с чего начать или...

Objective-C A to Z Started - Objective-C
Доброго времени суток господа, хотел бы получить у вас совет, решил очень усиленно начать разрабатывать приложения на ios, может кто...

Перевод в Objective C - Objective-C
Здраствуйте! можете мне помочь с такой проблемой, нужно перевести этот С++ код в Objective C. Сам уже третий день пытаюсь но все время...

Литература C++ и Objective-C - Objective-C
Здравствуйте. Книг по C++ гораздо больше, чем по Objective-C, т.к. его область применения шире, но вот интересно, почему по Objective-C...

Консультации по objective-c - Objective-C
iOS-разработчик с опытом работы в крупной компании дает оперативные консультации по скайпу или е-мейлу по любым вопросам, а также даю уроки...

Переход на Objective-C - Objective-C
День добрый, в настоящий момент я пишу на C++. Уже давненько душа тянется к чему-то новому, хочется что-то поменять. И вот в голову пришла...

9
korvin_
2084 / 1575 / 254
Регистрация: 28.04.2012
Сообщений: 5,672
26.08.2014, 13:47 #2
Цитата Сообщение от Prorok2323 Посмотреть сообщение
референцию
Это так хитро обозвал ссылку?

Цитата Сообщение от Prorok2323 Посмотреть сообщение
Java
1
2
Aaa objectA = new Aaa(objectB);
objectA.a = 14; //таким образом переменная "а" изменилась в объекте objectB
Нет, таким образом мы получили ошибку компиляции.

А так, примерно так:
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
24
25
26
@class Aaa : NSObject {
    Bbb *reference;
}
 
@interface
 
- (id)initWithBbb:(Bbb *)reference;
 
...
 
@implementation
 
- (id)initWithBbb:(Bbb *)reference {
    if (self = [super init]) {
        self.reference = reference;
        return self;
    } else
        return nil;
}
 
...
 
int main(int argc, char *argv[]) {
    Bbb *objectB = [[Bbb alloc] init];
    Aaa *objectA = [[Aaa alloc] initWithBbb:objectB];
}
0
Prorok2323
34 / 126 / 43
Регистрация: 04.12.2013
Сообщений: 550
26.08.2014, 16:52  [ТС] #3
korvin_, ваш код понятен, но, я напомню, что main отсутствует.

Добавлено через 2 минуты
Ой, пардон, имел ввиду
Java
1
2
3
4
5
public static void main (String[] args) {
    Bbb objectB = new Bbb();
    Aaa objectA = new Aaa(objectB);
    objectA.reference.a = 14;
}
0
korvin_
2084 / 1575 / 254
Регистрация: 28.04.2012
Сообщений: 5,672
26.08.2014, 18:35 #4
Цитата Сообщение от Prorok2323 Посмотреть сообщение
я напомню, что main отсутствует.
Во-первых, не отсутствует, во-вторых, ну помести использование объектов туда, куда тебе надо.

Цитата Сообщение от Prorok2323 Посмотреть сообщение
Ой, пардон, имел ввиду
Objective-C
1
2
3
Bbb *objectB = [[Bbb alloc] init];
Aaa *objectA = [[Aaa alloc] initWithBbb:objectB];
objectA.reference.a = 14;
Добавлено через 2 минуты
А вообще обычно элементы интерфейса (слайдер в твоем случае) просто связывают в Xcode со свойством (@property) объекта, в котором располагается ссылка. В общем на ютубе легко найти видео с примером.

P.S. И делегирование тут вообще не при чем.
0
Prorok2323
34 / 126 / 43
Регистрация: 04.12.2013
Сообщений: 550
26.08.2014, 18:49  [ТС] #5
korvin_, привожу пример:
Слайдер расположен в главном меню и меняет размер шрифты текста где-то в какой-то UITableView странице. Как их связать?
0
dsdbonus
1 / 1 / 0
Регистрация: 25.08.2014
Сообщений: 10
26.08.2014, 19:20 #6
@property создай, а так вообще зажимаешь ctrl, перетаскиваешь слайдер в код, создаешь обработчик, так же делаешь для второго элемента только ссылку на него создаешь (можно если идентификатор есть в сцене, то его по другому найти), и в обработчике присваиваешь размер шрифта.
0
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
26.08.2014, 21:27 #7
Цитата Сообщение от Prorok2323 Посмотреть сообщение
Слайдер расположен в главном меню и меняет размер шрифты текста где-то в какой-то UITableView странице. Как их связать?
kvo тебе в помощь
0
glvrzzz
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
27.08.2014, 07:54 #8
Цитата Сообщение от Prorok2323 Посмотреть сообщение
Слайдер расположен в главном меню и меняет размер шрифты текста где-то в какой-то UITableView странице. Как их связать?
MVC наше все. Что ваш слайдер, что TableView - это V. Напрямую они взаимодействовать не должны друг с другом. Размер шрифта в вашем случаем - это настройка, т.е. модель. "страницей" у вас должен управлять контроллер. То есть один контроллер должен прочитать значение со слайдера и положить его в модель, другой контроллер - прочитать из модели и сказать TableView: "выставь вот такой шрифт".
1
Prorok2323
34 / 126 / 43
Регистрация: 04.12.2013
Сообщений: 550
27.08.2014, 19:16  [ТС] #9
glvrzzz, есть примеры?
0
Prorok2323
34 / 126 / 43
Регистрация: 04.12.2013
Сообщений: 550
27.08.2014, 19:23  [ТС] #10
Вот что мне нужно.
Но такое соединение невозможно. Как это реализовать в коде?
0
Миниатюры
Референция в Objective-C  
27.08.2014, 19:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2014, 19:23
Привет! Вот еще темы с ответами:

SystemWait в Objective C - Objective-C
Доброго времені суток. У меня вот какая проблема. Я роботаю с сервером в интернете. И в припципе моя функция будет начинать работать только...

Скачать Objective-C - Objective-C
Здравствуйте, где можно скачать Objective-C ? В инете искал, чё-то не нашёл. Знаю, что он входит в GCC

Строки в Objective-C - Objective-C
Помогите решить такую задачу: есть NSMutableString например с таким содержанием "Send email to and to and to". Нужно получить строку в...

Наследование в Objective C - Objective-C
У меня есть класс CustomCell, в котором объявлен прототип функции initDataCell. Тело функции описано в классах FolderCell,...


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

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

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