|
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 6
|
|||||||||||||||||||||||||||||||
Передача инициализированных переменных из одного класса в другой (objective c, XCODE 5.0.2)12.12.2013, 00:46. Показов 5273. Ответов 14
Метки нет (Все метки)
Друзья помогите решить задачку! Я в этом деле новичек, поэтому прошу не винить за глупые вопросы))
Итак, создаю приложение для iPhone в XCODE 5.0.2, язык программирования Objective C. Пишу приложение с несколькими представлениями. В первом представлении (класс FirstViewController) создал текстовые поля для ввода пользователем входных данных. FirstViewController.h
SecondViewController.h
TIMBrain.h
В первом представлении пользователь вводит входные данные, затем переходит на второе представление и нажимает кнопку, которая обрабатывает эти данные и выводит результат в метку. Вопрос заключается в следующем: Как мне передать введенные данные (уже инициализированные) из класса FirstViewController в класс TIMBrain (в метод countStrahVznos), что бы метод мог обрабатывать эти данные? На данный момент в метод передаются неинициализированные переменные.
0
|
|||||||||||||||||||||||||||||||
| 12.12.2013, 00:46 | |
|
Ответы с готовыми решениями:
14
Передача значений переменных из одного js-скрипта в другой Передача значения переменных одного класса другому |
| 27.12.2013, 19:01 | |||||||||||
|
Вообще конечно код который ты представил очень далек от идеала)) особенно мне понравилось про скрытие клавиатуры по тапу на сводобное место)) для этого есть класс жестов специальный или уже переопредели методы тача на вьюхе) что касается твоего вопроса, создай отдельный обьек, назови его как нибудь осмысленно и добавь ему поля которые тебе нужно передавать. Вот тебе пример
1
|
|||||||||||
| 31.12.2013, 10:13 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 6
|
||||||
| 21.01.2014, 17:33 [ТС] | ||||||
|
Толко учусь, поэтому и код такой, а про скрытие клавиатуры начитался в книге "iOS 6 SDK. Разработка приложений для iPhone, iPad и iPod touch" Глава 4))
Скажите пожалуйста, может кто знает хорошие курсы по разработке программ на iPhone, iPad? Добавлено через 6 минут Вставил вот такой код:
Property 'kurs' not found on object of type 'TIMBrain *' При том, что в файле TIMBrain.h я объявил переменную kurs. Что не так сделал?
0
|
||||||
|
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
|
|
| 21.01.2014, 19:45 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 6
|
|||||||||||
| 21.01.2014, 20:33 [ТС] | |||||||||||
|
Я тут подумал немного и сделал таким образом: в TIMBrain.m прописал функцию (сеттер, как мне кажется), а в FirsViewController.m вызываю функцию (сеттер) уже с инициализированными переменными. Ниже представлю код. Посмотрите пожалуйста, на сколько криво написанно и что стоит поправить?
TIMFirstViewController.m только функция backgroundTap //Прячем клавиатуру при нажатии на любое свободное пространство на экране
0
|
|||||||||||
|
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
|
|||
| 22.01.2014, 07:38 | |||
ААаааай, нет, не делайте так. Что за жесть, как конструктор в жаве, ужас. Используйте свойства (@property), и используйте английский язык. Латиницей на русском с сокращениями - вам самому нравится это читать?
0
|
|||
|
127 / 125 / 16
Регистрация: 03.07.2011
Сообщений: 354
|
|
| 22.01.2014, 17:30 | |
|
1
|
|
|
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
|
|
| 22.01.2014, 20:53 | |
|
Venzo, замечательное замечание!
0
|
|
|
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 6
|
|||||||||||||||||
| 23.01.2014, 18:20 [ТС] | |||||||||||||||||
|
А не могли бы вы приводить примеры, просто не совсем понятно, как именно должно все выглядеть. Добавлено через 2 часа 18 минут Попробовал сделать с использованием свойства (@property и @synthesize), вот что получилось: TIMFirstViewController.m
P.S. Названия переменных я поменяю позже, сечас для меня важно понять сам алгоритм :-) Всем Большое спасибо!
0
|
|||||||||||||||||
|
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
|
||||||||||||||||||||||||||
| 23.01.2014, 19:31 | ||||||||||||||||||||||||||
|
Не пойму логики метода setData ? Зачем это ?
Добавлено через 3 минуты + не понятно что дальше происходит с классом TIMBrain в методах
0
|
||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 6
|
|
| 25.01.2014, 02:16 [ТС] | |
|
Препредставлю код последней версии в файле. Думаю будет легче понять мою логику. Дело в том, что данные инициализируются во FirstView только в тот момент, когда пользователь нажимает кнопку done или 'тапает' по бэкграунду (перед этим заполнив все text field входными данными), а расчет этих данных начинается только в SecondView при нажатии кнопки, А сам алгоритм расчета содержится в классе TIMBrain. Получается такая картина, если я не создаю метод (функцию) setData, которая после нажатия кнопки done или при 'тапе' по бэкграунду инициализирует данные в классе TIMBrain, то в классе TIMBrain входнsе данные не инициализируются и в итоге расчета получется полная ерунда, по сути функция setData мне нужна только для того, что бы перенести инициализированные данные из FirstView в класс TIMBrain, где ведутся все расчеты, которые вызываются в SecondView.
Друзя, спасибо вам за советы и подсказки! Большая просьба к вам, не могли бы вы ссылаться более конкретно на теоретические моменты и более подробно их описывать, дело в том, что я только учусь и стараюсь искать данные моменты в литературе! С вашей помощью мне будет гораздо легче самообразоваться, в следствии чего, я буду меньше задавать глупых вопросов. Спасибо за понимание и помощь!
0
|
|
| 25.01.2014, 02:36 | ||||||
|
Почитай плиз книгу по программированию на objective с( Самая простая занимает около 200 страниц, за несколько вечером у тебя будет хотя бы представление как вообще надо писать код.
http://www.youtube.com/watch?v=LiupsRXIEa4 - видео - список литературы что касается твоего вопроса в твоем случае очевидно будет использовать паттерн делегирование когда тебе надо передать данные из одного контроллера в другой - вот ссылка на описание паттерна
почитай и все тебе станет ясно как передать данные из одного контроллера в другой. Извини если ответил слишком резко , все бы когда были новичками и ничего не умели
0
|
||||||
|
44 / 44 / 4
Регистрация: 07.11.2013
Сообщений: 132
|
||||||||||||||||
| 29.01.2014, 16:33 | ||||||||||||||||
|
Создавай свойства @property и общайся между контроллерами. Простейший пример, допустим у нас есть два контроллера FirstViewController и SecondViewController. Из первого контроллера тебе надо передать данные во второй. Cоздаем свойство в файле FirstViewController.h
0
|
||||||||||||||||
| 29.01.2014, 16:33 | |
|
Помогаю со студенческими работами здесь
15
Передача массива из одного класса в другой Передача массива одного класса в другой С++ Передача переменной из одного класса в другой
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|