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

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

Восстановить пароль Регистрация
 
97mik
 Аватар для 97mik
11 / 11 / 0
Регистрация: 08.04.2009
Сообщений: 878
18.03.2014, 19:12     Шаринг в твиттер #1
Пишу так:
Objective-C
1
2
3
4
5
6
7
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
        {
            SLComposeViewController *tweetSheet = [SLComposeViewController
                                                   composeViewControllerForServiceType:SLServiceTypeTwitter];
            [tweetSheet setInitialText:@"Great fun to learn iOS programming at appcoda.com!"];
            [self presentViewController:tweetSheet animated:YES completion:nil];
        }
Если писать во ViewController, то всё ок, а если в другом классе, то не находит presentViewController.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
18.03.2014, 19:32     Шаринг в твиттер #2
97mik, а может его там нет?
97mik
 Аватар для 97mik
11 / 11 / 0
Регистрация: 08.04.2009
Сообщений: 878
18.03.2014, 19:34  [ТС]     Шаринг в твиттер #3
zulkis, насколько я понял, когда я пишу в другом классе, то оно не находит self, как его указать из ViewController?
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
18.03.2014, 19:46     Шаринг в твиттер #4
97mik, вы разберитесь с тем, что такое self, затем посмотрите чей конкретно метод
Objective-C
1
presentViewController:animated:completion:
А потом вопрос отпадет.
97mik
 Аватар для 97mik
11 / 11 / 0
Регистрация: 08.04.2009
Сообщений: 878
18.03.2014, 20:04  [ТС]     Шаринг в твиттер #5
Ну self это он возвращает ViewController.
И вопрос всё ещё не отпал.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
18.03.2014, 22:17     Шаринг в твиттер #6
Цитата Сообщение от 97mik Посмотреть сообщение
Если писать во ViewController, то всё ок, а если в другом классе, то не находит presentViewController.
Потому что в другом классе этого метода может и не быть.
Ибо метод есть только у UIViewController...
97mik
 Аватар для 97mik
11 / 11 / 0
Регистрация: 08.04.2009
Сообщений: 878
18.03.2014, 22:21  [ТС]     Шаринг в твиттер #7
zulkis, ладно, а как тогда взять этот метод из класса ViewController?
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
18.03.2014, 22:30     Шаринг в твиттер #8
97mik, что значит "взять"?
Берете экземпляр класса UIViewController и вызываете этот метод...

Я бы порекомендовал вам почитать основы ООП, и Objective-C тоже.
Будет правда полезно.
97mik
 Аватар для 97mik
11 / 11 / 0
Регистрация: 08.04.2009
Сообщений: 878
18.03.2014, 22:41  [ТС]     Шаринг в твиттер #9
Цитата Сообщение от zulkis Посмотреть сообщение
Берете экземпляр класса UIViewController и вызываете этот метод...
Не могли бы Вы подсказать как это сделать?
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
18.03.2014, 22:48     Шаринг в твиттер #10
В первом сообщении вы сами это сделали:
Objective-C
1
2
3
4
SLComposeViewController *tweetSheet = [SLComposeViewController
                                                   composeViewControllerForServiceType:SLServiceTypeTwitter];
[tweetSheet setInitialText:@"Great fun to learn iOS programming at appcoda.com!"];
[self presentViewController:tweetSheet animated:YES completion:nil];
Где self у вас - указатель на тот объект, в методе которого он был использован.
97mik
 Аватар для 97mik
11 / 11 / 0
Регистрация: 08.04.2009
Сообщений: 878
18.03.2014, 22:54  [ТС]     Шаринг в твиттер #11
В общем как я понял в моём классе он указывает на MyScene, а во ViewController'е на него, но когда я просто пишу вместо self - ViewController, то тоже ошибка.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
18.03.2014, 23:02     Шаринг в твиттер #12
Цитата Сообщение от 97mik Посмотреть сообщение
В общем как я понял в моём классе он указывает на MyScene, а во ViewController'е на него, но когда я просто пишу вместо self - ViewController, то тоже ошибка.
Обращаю ваше внимание на то, что вы ни фразой не обмолвились что у вас за класс, что там присутствует, и прочее...

self - это определенное ключевое слово. А ваш ViewController - это непонятно что, ибо вы ничего не сказали о нем.
Я рассматриваю ViewController как "объект класса UIViewController", но вполне вероятно - это не так.
Приложите ваш @implementation, опишите проблему более подробно, и я уверен, вам помогут с ней.
97mik
 Аватар для 97mik
11 / 11 / 0
Регистрация: 08.04.2009
Сообщений: 878
18.03.2014, 23:06  [ТС]     Шаринг в твиттер #13
У меня стандартный проект SpriteKit в XCode, в ViewController.m и .h ничего не изменял.
Изображения
 
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
18.03.2014, 23:09     Шаринг в твиттер #14
97mik, может я удивлю вас, но базовый набор файлов в проекте еще ни о чем не говорит.
Вы содержание вашего ViewController.m и MyScene.m покажите - потом и будем разбираться.

Из контекста всего разговора, я понял, что вы хотите вызвать
Objective-C
1
presentViewController:animated:completion:
из объекта класса MyScene.
У вас это не выйдет, ибо у класса MyScene такого метода нет.
97mik
 Аватар для 97mik
11 / 11 / 0
Регистрация: 08.04.2009
Сообщений: 878
18.03.2014, 23:51  [ТС]     Шаринг в твиттер #15
Ага, значит можно ли тогда из класса MyScene вызвать процедуру из ViewController которая будет вызывать:
Objective-C
1
presentViewController:animated:completion:
Как это сделать?

Добавлено через 35 минут
В общем я поставил шаринг на событие нажатия кнопки на StoryBoard, и всё ок, а вызываю это событие из класса MyScene - ошибка.
97mik
 Аватар для 97mik
11 / 11 / 0
Регистрация: 08.04.2009
Сообщений: 878
23.03.2014, 00:22  [ТС]     Шаринг в твиттер #16
Надо было писать так:
Objective-C
1
2
UIViewController *vc = self.view.window.rootViewController;
[vc presentViewController: activityViewController animated: YES completion:nil];
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2014, 02:50     Шаринг в твиттер
Еще ссылки по теме:

Шаринг с помощью INTENT Android
Шаринг соц сетей, intent Android
Шаринг в программе Android
Samsung 7й серии и шаринг?
Windows Server Шаринг дисков

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

Или воспользуйтесь поиском по форуму:
Vorona
Peace 2 all shining faces
 Аватар для Vorona
661 / 523 / 44
Регистрация: 05.03.2010
Сообщений: 1,270
25.03.2014, 02:50     Шаринг в твиттер #17
97mik, простите, но после всех ваших вопросов и их комментариев, пропадает всякое желание вам помогать
вы в самых азах не разобрались, а уже лезете в дебри, подключаете тысячи каких-то библиотек, которые требуют каких-никаких, а знаний
мой совет - почитать про objective-c и параллельно ознакомиться с ООП, хотя бы поверхностно
а то аж грустно на душе как-то после всего того бреда, что вы пишете тут
Yandex
Объявления
25.03.2014, 02:50     Шаринг в твиттер
Ответ Создать тему
Опции темы

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