Вы видите копию треда, сохраненную 26 июля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Objective-C Programming: The Big Nerd Ranch Guide
iOS Programming: The Big Nerd Ranch Guide
iOS 7 Programming Cookbook: Vandad Nahavandipoor
Matt Galloway Effective Objective-C 2.0
Видеокурсы:
https://www.coursera.org/specializations/app-development
https://www.coursera.org/specializations/ios-development
https://www.youtube.com/user/AlexSkutarenko
Swift - Swift - это новый язык программирования для разработки приложений на iOS, OS X и watchOS, который сочетает в себе все лучшее от C и Objective-C, при этом нет ограничений в совместимости с C. Swift использует паттерны безопасного программирования и содержит современные функции, которые помогают сделать программирование легким, гибким и увлекательным.
Платина:
Что выбрать? - свой проект - swift, работа - objective-c.
Официальная телеграм конфа треда - https://telegram.me/joinchat/CUVruAJ8ceAgYkfeqe_LcA
мимпроходящий раз в месяц опхуй
Что тебе мешает сначала вызвать один вьюконтроллер, а когда станет нужно, то тот, где твои элементы?
То, что я просто хочу наплодить одинаковых элеменов в TabView по нажатию на кнопку, скажем. И количество их неизвестно и варьируется, включая и данные.
Какие ячейки? Не о TableView говорится. У NSTabView есть набор TabViewItems, у каждого из которых лейбл и соответствущий им view, который в этом NSTabView будет отображаться. У NSTabViewDelegate'а есть лишь 4 метода ( https://developer.apple.com/library/mac/documentation/Cocoa/Reference/NSTabViewDelegate_Protocol/index.html ). Никакие ячейки у него не запрашиваются.
Создаётся NSTabViewItem, к нему прицепляется люой NSView, затем это всё добавляется к TabViewItems у NSTabView.
Вот мне нужно, чтобы на момент запуска программы этот NSView был уже готов, оставалось только повставлять текст в лейблы.
Можно, но лучше в таком случае пользоваться XIB'ами и вытягивать вьюхи таким образом:
MyCustomView view = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil][0];
Тебе в любом случае придётся привязать определенный класс к своей вьюхе, чтобы работали IBOutlet'ы, т.е. абсолютно абстрактной быть не может :)
Спасибо, попробую.
>определенный класс к своей вьюхе
Не, ну это-то понятно, сабкласс NSView и будет.
Да, надо было мне исправить строчку "Что выбрать? - свой проект - swift, работа - objective-c." на
"Что выбрать? - свой проект - swift (но помни о раздутом нахуй бинарнике, который будет мб на 16 больше чем в случае с obcC), работа - objective-c".
> который будет мб на 16 больше
Но ведь IPA это zip архив и весь фреймворк Swift в итоге прибавляет только 3 MB
Что-то я дурачок. Этот метод возвращает булеан (коока, на мак). И что дальше-то делать, как его использовать, как вью инициировать? principalClassу у бандла него NSApplication, а не мой каштомный. ПРобовал добавлять в инит метода у вьюхи, но всё равно ничего не происходит. И на маке есть только loadNibNamed:.. owner:.. topLevelObjects:..] (либо классовый почти как у тебя, о бзе опшнс, и всё равно булеан возвращет).
В интернете везде оно либо массив возвращает, либо просто [NSBUndle loadNibNamed:...] в инит вставляют, делая овнера селф, и ничего никуда не присваивая. Ничего не понимаю, что почитать?
Мой obj-c проект после включения в него свифта раздуевается на 16мб
Парни со стэковерфлоу подтверждают.
http://stackoverflow.com/questions/28275711/adding-swift-to-project-increase-size-substantiously-how-and-when-can-it-be-avo
Имеет ввиду в установленном виде на устройстве, а при распространение будет всего на +3.
Загляни в свой production IPA да посмотри.
Сейчас для тестов собрал и экспортировал с production provision
1) чистый ObjectC
2) тот же проект с добавление swift класса
разница в размере IPA около 3 MB
>>722745
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
NSArray nibObjects;
[[NSBundle mainBundle] loadNibNamed:@"TestView" owner:self topLevelObjects:&nibObjects];
__block CustomView view;
[nibObjects enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL _Nonnull stop) {
if ( [obj isKindOfClass:[CustomView class]] ) {
view = obj;
}
}];
view.frame = NSMakeRect(0, 0, 100, 100);
CALayer viewLayer = [CALayer layer];
[viewLayer setBackgroundColor:CGColorCreateGenericRGB(1.0, 0.0, 0.0, 0.4)];
[view setWantsLayer:YES];
[view setLayer:viewLayer];
[self.view addSubview:view];
}
@end
Вот это работает
>>722745
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
NSArray nibObjects;
[[NSBundle mainBundle] loadNibNamed:@"TestView" owner:self topLevelObjects:&nibObjects];
__block CustomView view;
[nibObjects enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL _Nonnull stop) {
if ( [obj isKindOfClass:[CustomView class]] ) {
view = obj;
}
}];
view.frame = NSMakeRect(0, 0, 100, 100);
CALayer viewLayer = [CALayer layer];
[viewLayer setBackgroundColor:CGColorCreateGenericRGB(1.0, 0.0, 0.0, 0.4)];
[view setWantsLayer:YES];
[view setLayer:viewLayer];
[self.view addSubview:view];
}
@end
Вот это работает
1 - апа из .xcarchive/products
2 - экспортированные ipa
Не так много конечно, но в моем случае даже такая разница - очень критична. Сначала ты оптимизируешь каждую png, дабы уменьшить бандл на пару метров, а тут хуяк и ±6 мб сверху. В моем случае вообще процентов на 30 ебануло.
В более или менее серьёзном продакшне техдир за такую вольность сразу обоссыт.
> В более или менее серьёзном продакшне техдир за такую вольность сразу обоссыт
Давай ты не будешь говорить за всех.
Twitter и LinkedIn это не мешает выпускать приложения на Swift.
Кстати отдельный вопрос, насколько сам код на Swift генерирует больше процессорных инструкций (ведь он более высокоуровневый).
Возможно это объясняет разницу в целых 6MB.
>Давай ты не будешь говорить за всех.
Да я за всех и не говорю. Я говорю про среднестатистическую коммерческую разработку.
Что такое переход на свифт для компании:
1) адаптационный период с упавшей производительностью программиста
2) разросшийся бинарь (в моём случае это аж 30% - это пиздец)
3) потеря возможности прямого использования c/c++
4) сырые спеки и отсутствие поддержки старых версий
Совокупность рисков - нехуёвая такая.
Любой опытный техдир взвесит все за и против и мягко откажет программерам в перекате.
>Twitter и LinkedIn это не мешает выпускать приложения на Swift.
Пруфцы есть? Я погуглил по запросам "twitter swift ios" и не нашел ничего подобного.
>ведь он более высокоуровневый
С чего ты это взял? Свифт рантайм как раз более низкоуровневый и показывает производительность на уровне plain C, в отличии от objC.
>Возможно это объясняет разницу в целых 6MB.
Это объясняется рантаймом, и всё. Когда он будет включён в ios, разницы не будет никакой.
Когда он будет включён в ios, то начнётся кошмар зависимостей, как в .NET и Java, разницы никакой.
Каких зависимостей? нас тут двоеМы же про вес говорим. Сейчас эти 6 метров - включенный в ipa рантайм. Будет этот рантайм лежать в бандле самой ios и не лишнего веса не требовать.
И почему должен какой-то кошмар начаться? Почему в нынешней ситуации он не начинается?
Лишь бы чтото, простите, спиздануть чтоли?
> Пруфцы есть?
А сам скачать через itunes на мак и распаковать их ты конечно не можешь?... Вот смотри.
> Свифт рантайм как раз более низкоуровневый
Я про твой написанный код, а не рантайм. Это объясняло бы почему размер проекта скачает при фикс. размер рантайма
> Это объясняется рантаймом, и всё
А вот нифиги, если удалить все libswift*.dylib из twitter/linkedin и запаковать обратно, то размер IPA уменьшится только на 3 MB.
Если запаковать БЕЗ удаления, то получается тот же размер что у оригинального IPA ±1%, так что дело не в настройках ZIP.
>Вот смотри.
И правда, используют...
>Я про твой написанный код
Да там кода было строк на 20 - и на тебе, такое-то увеличение бинаря.
>А вот нифиги, если удалить все libswift*.dylib
Ну так это всё статик либы, подключаемые по надобности, сам рантайм, я думаю, прямиков в бинарь хуячится.
Ах, вот для чего топЛевелОбджетс. Всё заработало, спасибо огромное!
я тебя нипонял.
а зачем делают такую вещь navigate - > vc -> navigate - > vc?
замени i==7 j==3, на i<3, j<3
Хуй знает что-ты хочешь, но индексы массивов начинаются с 0
for (i=1; i==7; i++) означает, что изначально i = 1, после каждой итерации i увеличивается на 1, и луп будет действовать до тех пор, пока выражение i == 7 выдаёт true. Подумай, когда оно у тебя выдаёт true?
first vc
@protocol passDataDelegate <NSObject>
@required
- (void)dataFromController:(NSString )data;
@end
@property (nonatomic, weak) id<SecondViewControllerDelegate> delegate; - типа проперти для делегата
self.delegate dataFromController:@"записываем данные модели, тут допустим стринг"
Далее переходим сегвею или кодом презентуем
second vc
- (void)dataFromController:(NSString )data
{
self.label.text = data;
}
получаем данные, верно? Так происходит передача данных между вк?
Или как по другому осуществить?
first vc
@protocol passDataDelegate <NSObject>
@required
- (void)dataFromController:(NSString )data;
@end
@property (nonatomic, weak) id<SecondViewControllerDelegate> delegate; - типа проперти для делегата
self.delegate dataFromController:@"записываем данные модели, тут допустим стринг"
Далее переходим сегвею или кодом презентуем
second vc
- (void)dataFromController:(NSString )data
{
self.label.text = data;
}
получаем данные, верно? Так происходит передача данных между вк?
Или как по другому осуществить?
Общая идея такая, но от контроллера к контролеру принято передавать только их собственные специфические контроллерные данные, если такая необходимость есть. Бизнес данные принято передавать в составе модели. У каждого контроллера проперти model, корневой контроллер берет модель из своего проперти и сует ее в проперти дочернего контроллера после чего презентует его. А уже сам дочерний контроллер, когда он появляется на экране (например во viewWillAppear, если это какие-то "глобальные" данные которые только раз нужно обработать то во viewDidLoad) тащит данные из модели и делает что нужно. Но в простых случаях можно считать что твой NSString это и есть модель, и в общем твой подход норм, просто названо по другому - если делать через модель то все по сути сведется к тому же.
> Бизнес данные принято передавать в составе модели. У каждого контроллера проперти model, корневой контроллер берет модель из своего проперти и сует ее в проперти дочернего контроллера после чего презентует его.
Я чет запутался, у модели есть делегат пасс моделл или что?
Ситуация такая - при нажатии на кнопку производятся вычисления и происходит переход на новый vievcontroller, где эти самые вычисления должны использоваться. Но, судя по всему, сначала происходит переход и только потом вычисления, как задержать переход до конца вычислений?
Показываешь какую-то хуйню крутящуюся, типа https://github.com/SVProgressHUD/SVProgressHUD ждёшь когда там твои вычисления пройдут, переходишь через navController -> presentViewController
В чём проблема то?
Передавай модель данных.
Например
first vc формирует содержит список фильм, которые он грузит и распаршивает в локальные модель Movie, по нажатию на фильм в списке происходит вызов нового vc и передача в него экземпляра этой модели Movie, а там уже рисуется.
Но я не пойму, я вот сделал пресент модалли например перетаскиванием с одного контроллера на другой по кнопке. На этой же кнопке дейтвие при нажатии делаются вычисления и заносятся в массив. И этот массив используется в следующем контроллере. Но проблема в том, чтоон берется ниловский, то есть мне сначала грузит второй контролер с пустым масивом, потом в этот масив заносятся данные из первого. Это видно, если сделать цикл - то есть я вижу результаты предыдущего заноса. Мне хотелось бы исправить это без костылей, не пойму как.
>>727287
Проблема в том, что я ньюфаг. Да, я уже понял, что могу промежуточный контролер сделать - тогда всё ок. Но в любом случае на будущее хотелось бы знать, как можно сделать проще - без лишних контролеров, кнопок и т.д.
Ой наоборот ответы.
> промежуточный контролер сделать
Промежуточный контроллер не нужен. Когда жмут по кнопке, контроллер показывает пустое (например, можно сделать полупрозрачным) вью с NSProgressIndicator (например) и запускает асинхронные расчеты. По нормальному твой массив должен быть моделью за которой наблюдает контроллер. Тоесть контроллер отсылает модели сообщение "рассчитать хуйню", модель считает (в бекграунде) и после расчета отсылает сообщение контроллеру "хуйня рассчитана". Получив это сообщение контроллер останавливает NSProgressIndicator и вызывает контроллер который занимается результатами. Если делаешь что-то простое то можно не ебаться с моделью и наблюдением, а расчитать сразу в контролере и потом вызвать второй с результатами. Но это типа не MVC, и желательно разобраться с моделями и наблюдением.
Твоя проблема в том, что ты всё завязал на Segue, а в большинстве нормальных проектов весь navigation stack менеджится исключительно кодом.
Учись показывать viewController'ы кодом, не сегами в сторибордах.
После замены от нажатий перестал экран вообще меняться.
И да, зачем тебе еще один навигейшн контроллер?
У тебя есть основной navController - в нём твой текущий vc. В нём обработка нажатия кнопки - дальше идут вычисления, в конце них просто презентуй свой tableViewController, не оборачивая его в еще один navigationController и всё.
Обработка зависит от выбора в таблице, после должна грузиться совсем другая таблица, в которой надо делать другие выборы. Алгоритм есть, все так-то работает, не могу красиво связать :( Я просто на самом деле хз как это сделать по-другому...
Первый пик - стэк в сторибоарде
Второй - обработка клика по кнопке - в ней синхронно вычисления и передача их твоей тэйбвьюхе.
Спасибо, попробую.
Наконец-то заимлементил распаралленый openGl-стэк (рендер происходит на параллельном потоке, выводится на главный)
Как же я заебался.
Мелочи, причём, крылись в мелочах - а именно, при убийстве вьюхи необходимо было чистить буфферы и тут то другие вьюпорты сходили с ума и падали с различными ошибками.
Ура, блять.
Ну чтобы приложение норм работало без интернета и в случае чего синхронизировалось и старые данные тянули из интернета на новый девайс
Да просто всё что грузишь парсишь и пихаешь в базу, а UI рисуешь, исходя из данных в базе.
Для таблиц используешь FetchRequestControoler'ы, для каких-то единичных сущностей, типа профиля юзера - систему нотификаций об обновлении.
Не совсем понимаю сути проблемы, если честно.
Ну как происходит проверка данных, типа база старая, облако новое и наоборот, чтобы не затереть данные
А, ты про это. Лучше не реализовывать этот геморрой.
Если у юзера есть возможность редактировать контент - сразу отправляй на сервер. Если отправить не получилось, пиши "Отправка не удалась, попробуйте позже".
Совсем автономная двухсторонняя синхронизация - ебанутый, неочевидный для юзера, геморой.
Посмотри на фейсбук или инстаграмм - там если и есть оффлайн отправка данных юзером, то это реализовано в качестве отложенных очередей.
1) Hackintosh (легко ставятся даже на VirtualBox), берешь на rutracker
2) Xcode + Simulator
3) Swift
Садишься и пишешь софт (главное на свифте, что бы без байтоебства)
Спасибо.
>>728639
Пока так.
https://github.com/stephenkopylov/SKAsyncGLViewController
лойс, подписон - обязон
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<loading:) has no segue with identifier 'segue1''
Всё еще та же ошибка :(
National Socialism
Нет. Значения в словаре находятся в определенном порядке (отсортированы по ключам или по хешам, в зависимости от того как именно реализован словарь) для быстрого поиска значений, и менять его нельзя.
ПЛАТИНОВЫЙ ВОПРОС
В общих чертах или даже лучше если будет конкретно: примерно какого вида должно быть приложения для показа на собеседовании при отсутствии опыта то бишь устройстве на первую работу? Желательно без использования API всяких чуханов типа твиттора/фейсбука яндекса или тем более напишите простенький клиент вк))))) которые ты в жизни юзать не будешь.
Опиши конкретней свои проблемы связанные с "напишите простенький клиент вк)))))" (кроме необходимого количества работы/знаний). Возможно тебе не стоит идти в мобильную разработку?
К примеру такой код let z = 359 % 60 \\ 59
а let z = 360 % 60 \\0
Он отсекает часть числа не большую аргументу после % и выводит ее, или как то иначе работает?
Остаток от деления с остатком (деления по модулю).
Тебе в тред "подгоревших даунов-неасиляторов"
Проблема та же, не желание копания в незнакомом до селе API VK/%сервис_нейм для одноразовой работы.
Нет, серьезно
Кто-нибудь тыкал появившиеся веб-фреймворки на Swift? Какой из них наиболее привлекателен? Сходу загуглил - нашел аж 4 на первой странице выдачи, все с кучей звёздочек и форков.
Но свифт как тян. У него есть нил, который ни да, ни нет.
Все апи по сути очень похожи. Ресурсы + oauth-авторизация. Что ты там решил копать - не ясно.
Возможно, ты вообще апи ни разу не юзал и считаешь, что это нинужно. А это очень даже нужно.
> Да там кода было строк на 20 - и на тебе, такое-то увеличение бинаря.
Так нахуя было городить огород со свифтом? Если планируешь переписывать весь код на него или весь новый код на свифте писать - тогда это уже будет не 20 строк
>Так нахуя было городить огород со свифтом?
А когда по-твоему вкатываться в свифт? Или вот так взять и заставить всю команду начинать новый проект на свифте?
Мы вам перезвоним
Ну напиши хоть тысячу строк на свифте. Или на досуге накатай прогу. Я вот год назад за пару месяцев переписал прогу с обджектива на свифт. Пишешь новый класс - на свифте. Нужно переписать большую часть кода класса - переписываешь на свифт. Остальное вечерами посидел и переписал. С того времени все новые проекты - на свифте
> Пишешь новый класс - на свифте. Нужно переписать большую часть кода класса - переписываешь на свифт. Остальное вечерами посидел и переписал. С того времени все новые проекты - на свифте
Парень, ты мне сейчас америку открыл. А я-то и не знал.
Это сарказм был, если что.
Именно так я и начал. Взял и новый класс наебашил на свифте (20 строк кода, менеджер звуков). А он мне в ответ хуйнул мегабайтами в бинарь.
Ну так что с того, что сейчас 20 строк? Потом будет 10000. Такое впечатление, что ты тралируешь
>Ну так что с того, что сейчас 20 строк? Потом будет 10000.
Десять тысяч будет когда-нибудь потом, а бинарь раздуется на лишние мегабайты уже сейчас.
Пидоры всё-таки в эполе, организовали такую хуиту с этим рантаймом что висит груша-нельзя скушать.
Ну ешь говно мамонта. Я уже 4-й проект делаю на свифте и никто не наоет
Иногда необходимо использовать openGL посреди обычного uikit, как обычную вьюху.
Проблемы начинаются хотя бы с того, что стандартный GLKit-стэк (GLKViewcontroller + GLKView) работает на в главном ранлупе, который также используется повсюду - в скроллвью, в рекогнайзерах, да и вообще где угодно.
Это приводит например к таким весёлым штукам как остановка рендера при прокручивании скролвьюх.
Ну и, также, если рендер тяжёлый - остальной интерфейс будет просто тормозить.
А так - рендер не влияет на главный поток никоим образом.
Конечно это не имеет никакого смысла в случае если у тебя всё приложение - полноэкранный gl-вьюпорт.
>насколько сам код на Swift генерирует больше процессорных инструкций
Там вообще какая-то жопа с бинарником происходит после сфита, все дробится на маленькие функции - не понятно что от чего работает, даже хук не сделать. Говно ебаное в общем.
У еотовой подох Samsung Galaxy Tab 10.1 там все пикрилы и видосики, в мастерских мычат и пожимают плечами на вопрос: можно ли всё это выдернуть из этого дохлика ??
Это самые умные технологии на планете.
мимо 6 лет пишу под apple
Что в них умного? Понятно что приятнее чем под говноид писать, но все же ничего особенного.
Наличие платформы и знание средств разработки? Не, не нужно. Вкатывайся, посиди тут, чайку налей. Тут места много.
я так понимаю надо скачивать какую-то программу, чтобы писать на swift? Саблайм текст подойдет?
Всмысле? При чем здесь ява или дотнет? Мы же технологии с точки зрения разработки оцениваем, а не конкретных програм. Да и под шиндоус сонивегас явно получше будет все же.
Вегас вообще написан на плюсах как и весь 3D/видео софт, если говорить о стороне разработки.
потенциально - заказать. Хотелось бы узнать реальную стоимость такой затеи
Я хуй с горы, но будучи абсолютным нулём в iOS, за месяца полтора написал подобное трекинг-приложение (с аппловскими картами, но яндексовский апи на сервере использовался для получения оставшихся времени/расстояния), поэтому я бы сказал, что не слишком дорого. Сколько это "не слишком" в цифрах — вообще не представляю.
Разумеется, дизайн у меня был не ахти, да и качество кода, вероятно, оставляет желать лучшего.
Но это если одноразово, а тебе-то, полагаю, для бизнисов, а там поддержки-хуершки, апдейты и т.д.
https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html
Посмотрим вот сюда, в листинг 5-1,
Этот кусок кода регистрирует нотификации и двигает вью, скрытую за клавиатурой, так, чтобы она оказалась над клавиатурой,
Интересует конкретно вот этот момент:
scrollView.contentInset = contentInsets;
scrollView.scrollIndicatorInsets = contentInsets;
// If active text field is hidden by keyboard, scroll it so it's visible
// Your app might not need or want this behavior.
CGRect aRect = self.view.frame;
aRect.size.height -= kbSize.height;
if (!CGRectContainsPoint(aRect, activeField.frame.origin) ) {
[self.scrollView scrollRectToVisible:activeField.frame animated:YES];
}
> Your app might not need or want this behavior.
Если убрать этот кусок кода, то авто-скролл все равно будет продолжать работать.
Весь функционал, по всей видимости, педалится вот этим:
scrollView.contentInset = contentInsets;
scrollView.scrollIndicatorInsets = contentInsets;
Но как так? Что за undefined поведение? Почему выставление инсетов в обработчике появления клавиатуры заставляет весь скролл вью прокручиваться?
Меня устроит один из вариантов ответов:
- ткнуть рожей в офф доки, где объясняют почему так
- ткнуть рожей в семпл код из офф доков, где естьь более подробный комментарий почему так
- ткнуть рожей в первый ответ из треда стековера, где доходчиво умный человек рассказывает почему так
Всякие "васян на конфе слышал" не нужны.
https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html
Посмотрим вот сюда, в листинг 5-1,
Этот кусок кода регистрирует нотификации и двигает вью, скрытую за клавиатурой, так, чтобы она оказалась над клавиатурой,
Интересует конкретно вот этот момент:
scrollView.contentInset = contentInsets;
scrollView.scrollIndicatorInsets = contentInsets;
// If active text field is hidden by keyboard, scroll it so it's visible
// Your app might not need or want this behavior.
CGRect aRect = self.view.frame;
aRect.size.height -= kbSize.height;
if (!CGRectContainsPoint(aRect, activeField.frame.origin) ) {
[self.scrollView scrollRectToVisible:activeField.frame animated:YES];
}
> Your app might not need or want this behavior.
Если убрать этот кусок кода, то авто-скролл все равно будет продолжать работать.
Весь функционал, по всей видимости, педалится вот этим:
scrollView.contentInset = contentInsets;
scrollView.scrollIndicatorInsets = contentInsets;
Но как так? Что за undefined поведение? Почему выставление инсетов в обработчике появления клавиатуры заставляет весь скролл вью прокручиваться?
Меня устроит один из вариантов ответов:
- ткнуть рожей в офф доки, где объясняют почему так
- ткнуть рожей в семпл код из офф доков, где естьь более подробный комментарий почему так
- ткнуть рожей в первый ответ из треда стековера, где доходчиво умный человек рассказывает почему так
Всякие "васян на конфе слышал" не нужны.
Ты разметку делаешь в сториборде?
Если да, то не вызывает проблем auto-layout + UIScrollView ?
Да, в сториборде.
Проблем почти нет, немного подрочиться приходится. Когда подрочился, все работает как положено.
А вот ситуация со скролл вью и клавиатурой меня заставляет разве что разводить руками.
Не, здорово конечно, что все работает, НО ПОЧЕМУ РАБОТАЕТ ТО???
Тебе в консоль выводить? Тогда юзай ASCII color
http://stackoverflow.com/questions/3219393/stdlib-and-colored-output-in-c
Если в GUI тогда используй NSAttributedString
http://stackoverflow.com/questions/6501808/uilabel-with-text-of-two-different-colors
У тебя универсальная верстка и ты не задавал в сториборде явный размер скролвью. Разве при этом xcode не ругается?
Не ругается. Указал внешние ограничители скролла по отношению к супервью и внутри скролла все содержимое имеет отношение к каждой стороне. Ругаться будет если забудешь "изнутри" содержимое приколоть.
Ну или взять скролл вью, растянуть на всю сцену, накидать внутрь полей и сделать suggested. Тоже не ругается.
Спасибо.
Рады помочь. Заметь, починилось только после двачей.
У меня есть вопрос такого характера:
Вот я сейчас изучаю Python, смогу ли я в будущем перейти(без проблем) на Swift/Objective-C или для начала учить 'C'?
Идиотский вопрос, я это сам понял, вернее было бы поставить его так:
Смогу ли я быстро вкатится в язык (Python -> Swift/Objective-C), или лучше для начала C?
>смогу ли я в будущем перейти(без проблем) на Swift/Objective-C
Обоже, зачем питонисту лезть клепать хуйню для мобилок?
>>736789
ЛОЛШТО
Конеш.
Суть созданной эплом экосистемы вокруг обжс в том (да и мобильной оазработки в целом), что тебе нахуй не нужно знать что-то кроме методов из стандартных библиотек и как их вызывать чтобы писать софт под мобилки.
Удвою этого господина. Сейчас не 1983 на дворе, Foundation и UIKit для кого писали?
Сразу видно, что ты - макака-говнокодер. Напридумывал тут всякую чепуху про экосистему.
В Эппл пишут фреймворки и библиотеки на C/C++/CoreFoundation, даже если эти фреймворки предназначены для GUI. Например Quartz и CoreGraphics - С/С++ фреймворки. Потому что если бы их писали на Objc - они бы работали медленее и жрали больше памяти и в Эппл это прекрасно понимают в отличии от макак-говнокодеров.
>>736820
В Foundation почти все типы это обычные wrappers для CoreFoundation, для максимизации производительности нужно убирать Foundation и использовать CoreFoundation, что эппл и делает в своих фремворках.
А я сразу вижу маню-дауна. Кококо, перформанс, ведь в обж-с все вызовы по дефолту вычисляются в рантайме! Ахуеть! Из-за 0.001 мс при отрисовке кнопки будут видны лаги! А если там что-то написано на плюсах - сомневаюсь что всё написано без теж же виртуальных функций и прочего.
Я уже писал, но ты похоже не умеешь читать - для написания приложений это нахуй не нужно. Всё пишется на готовом, мобильная разработка - это такой "нативный" веб. Ты тыкаешь кнопочки, кладешь списки мышкой, пишешь для них обработчики - и всё.
Какие библиотеки, животное блядь? Всё, что пишется для приложений - гуйня/нетворкинг и тд вещи, не ебущиеся о перформансе.
Конкретный пример приведи. Только не порт/враппер/физический/рендер движок, которые на чём-то отличном от C(++) смысла писать нету.
>>736884
>Только не порт/враппер/физический/рендер движок
>для написания приложений это нахуй не нужно
ты походу только софт по доставке пиццы умеешь писать? нахуй ты нужен в этом мире? ты вообще в курсе какие задачи ставятся перед серьезными программистами? ты не в курсе, ты вообще вживую их не видел. иди пили свои "приложения".
Как же я проиграл с мамкиного оналитека, который не разу не работал. Набросал уже было тираду в ответ тебе, дурашке, но потом забил и удалил - нахуй объяснятся с иждивенцем?
>мамкиного
>не работал
>тираду
>дурашке
>нахуй объяснятся с иждивенцем
Ну так и пиздуй отсюда, чмо.
Давай лучше ты.
Можешь там в жс тред зайти и рассказать что им нужно знать плюсы потому, что все интерпритаторы ЖСа написаны на них.
Банальную шифровку-расшифровку файла на C сделать быстрее и проще, чем ебаться с NSData.
Ебать ты кретин. Я на твои посты больше не отвечаю. Нахуй тебя.
Ты реально собрался файл шифровать "своим" алгоритмом на C?
В iOS же есть специальное API для этого (там и AES и RSA и еще куча др).
И при этом не надо ебатся с утечками памяти.
Если данные не являются критичными для взлома, то их и шифруют своими алгоритмами.
Я надеюсь ты сейчас пошутил неудачно.
Городить хуйню на коленке, вместо 10 строчек вызова системного крипто-API.
Никто не использует aes для шифрования простых файлов вроде сейва в игре, если только дауны вроде тебя.
Как сказал кто-то из разработчиков свифта, свифт - objective C без C
Ловите велосипедописателя. Если хочешь поебаться с крестами в качестве хобби - так и скажи
Все проехали, из монитора уже жир вытекает.
Пиши на здоворьше свои XOR шифры на C, если уж API неосилил.
>Пиши на здоворьше свои XOR шифры на C, если уж API неосилил.
Так у него же ПИРФОРМАНС низкий в обжс для мобильный приложулек, чего ты ждал?
Нужно уметь различать задачи, стрелять комаров из пулемета - абсолютно глупая затаея.
Оставь его, братух. Это тролота залетная. Не корми.
> или для начала учить 'C'
"учить C" громко сказано, но базовые знания нужны так как objC это надстройка над С. Но, как правило в учебнике objC для новичков должен сначала даваться сишный синтаксис, а дальше уже даваться обжектив (классы и т.д.). Если идти по такой книге то учить С специально мало смысла.
Спор идиотский. Что это значит - писать на Objective-C, и при этом утверждать, что ты знать не знаешь и знать не хочешь C?
Ты в обжектив понимаешь что такое указатель? Понимаешь, иначе бы работать не смог. Ты до ARC писал всякие retain/release? Писал. Значит концепцию malloc/free понять в состоянии. Значит ты знаешь C. И более того, пишешь на нем каждый свой рабочий день. Ибо Objective-C - это и есть C (в отличие от крестов с шарпами).
Ты перед тем как сказать, что ты не перевариваешь си, не знаешь его, не будешь учить его, задумайся - ты собираешься сказать, что ты ios приложения пишешь жопой.
И если боишься и не понимаешь разницы между const char и NSString - советую перекатываться в веб на JS, потому что ты скоро обосрешься с позором.
Учи обжектив, как начнешь нормально код читать то перекатывайся в свифт. Большая часть необходимых знаний - фрейморки, а они одинаковы, тоесть в принципе без разницы что учить. Можно одним обжективом спокойно обойтись. Можно свифтом - с ним есть небольшие проблемы но после питона его проще будет использовать. Если хочешь искать работу то кране желателен обжектив (это значительно увеличит количество доступных вакансий).
Спасибо большое.
Ну вот в питон-треде шапки нет, кек.
>количество доступных вакансий
Ты вот правильно сказал.
А тебе:
>>737665
Мне сложно наставлять новых людей. Потому что я лично помимо Objective-C знаю И swift, И питон 2, И питон 3, И еще много много И И И И И И И языков, которые в данной ситуации уже будут звучать как оффтоп. И ежедневно вижу классных людей с горящими глазами, которые жадно кодят на всем, что под руку подворачивается, и нет у меня отбоя от их умных вопросов.
А эти "или"... заебали уже.
Хочешь хорошую работу - перестань употреблять ИЛИ.
7 языков сейчас знает высокооплачиваемый прогер в штатах. Минимум тебе это. Новый ориентир. Въебывай.
Выше по треду было, а я теперь до конца нашей цивилизации буду вспоминать.
Структуру с битовыми полями на свифте продемонстрируй, если не лень. Исключительно как иллюстрацию, что все одно и то же.
>7 языков сейчас знает
Нахуа? Работаю в основном на ОбжС, но хорошо. Остальные языки кроме свифта и можно было бы вспомнить, но никому это не нужно. Специализация. А если ты мастер на все руки, и ручку в жопу засунуть и на тромбоне проиграть, то я бы задумался над адекватности твоего места работы. Впрочем, что тут задумываться.
> Впрочем, что тут задумываться.
Ты, наверное, хотел сказать "чем тут задумываться". Очевидно, тебе нечем.
Тебе же в голову не может поступить мысль, что у человека было несколько мест работы, а еще бывает, что человек работает в двух местах сразу (а иногда в трех).
Тебе не понять, ты же кроме посещений двача и диванных выяснений "какой язык лучше" ничего в жизни не делал.
А зачем мне всё это представлять, если а) я синьор в ОбжС и свифте, б) за это мне платят больше, чем за твои 7 языков, в) таких мастеров на все языки, например, у нас в конторе посылают нах, и правильно делают, г) если вдруг меня пошлют нах в конторе, то я уверен, что вкачусь на не худшие условия в течение месяца.
Внимание вопрос: куда засунуть твои 7 языков?
Алсо, ты работаешь на двух, а то и трёх работах сразу, потому что либо а) у тебя настолько плохая команда, что у тебя есть лишнее время, либо б) тебе настолько плохо платят, что ты готов гробить своё время и здоровье по ночам и в выходные.
Палишься, дорогой.
Алсо, а откуда ты знаешь сколько мне платят? М? Сергей Васильевич, залогиньтесь.
Вы тоже палитесь.
Из которых 1493 нинужны.
Это я толщу, конечно, но ведь и правда, зачем знать их все? Ведь области применения похожие. Разве что знать 5 для всех основных мобильных и не очень платформ, пифон/руби + жс для скриптохуйни и личного блога, баш не считается, ну и на плюсах в качестве хобби какие-нибудь контроллеры программировать. Это максимум 8, но уже слега избыточно, как мне кажется.
Как-то так, на высоком уровне их знать одновременно выглядит не очень.
А если ты закидываешься менее популярными хаскеллями, эрлангами да схемами, то велика вероятность, что шарпы с джавами не нужны. Иначе совсем уж по задачам распыляешься.
Странный ты. Что значит ЗАЧЕМ?
Вот я поработал 3 года там, 2 года сям, 5 лет тут, 6 лет здесь.
Мне надо забыть все языки, на которых я дослужился до сеньера? Память у меня хорошая. Все помню. Помню особенности, помню стандарты, помню код. Зачем мне забывать это и как это сделать? Книжка где-то была - "Как забыть С++".
Потом смотрю статистику - а я не один такой. Западные сеньеры тоже владеют семью языками.
А потом приходишь ты и говоришь что мы дураки.
Сюр.
>я дослужился до сеньера
А ты прямо уверен, что ты дослужился до синьора? Не сказал бы.
Сергей Васильевич
>Зачем мне забывать это и как это сделать?
Ну оно как-то само же.
Ну если ты просто за свой двадцатилетний опыт использовал более семи, то всё норм. Просто активно использовать их все - вот это уже, мм, непродуктивно.
>А потом приходишь ты и говоришь что мы дураки.
Да нет, я как бы вообще мимопроходил.
Ну хоть одна нормальная шутка.
Внезапно в Scence Editor в последнем хКоде перестали перетаскивать объекты(ноды). То есть, я пытаюсь его перетащить, видно какой то контур, но ничего не тащится. При этом я могу изменить их положения поменяй х и у координаты в том же едиторе. В других проектах на этом же маке - все ок.
*поменяв
Анончики, а во сколько обойдется вся суета с размещением моб. приложения в appstore? Подскажите, будьте же людьми :3
Ты про деньги? 100 баксов девелоперская пошлина в год.
Можно ещё на маркетинг потратиться, если думаешь, что у тебя крутое приложение с потенциалом на популярность.
Да, я о деньгах.
>100 баксов девелоперская пошлина в год.
А, и все? И хоть овер 9к приложений пости @ засирай аппстор? И для компаний тоже всего 100$? И не зависит от наличия рекламы?
Что-то я там не нашел про лимит на количество программ.
Пишут что 70% от цены программы остается за разрабом, но в какой валюте? Если пиндос купил программу за 99 центов, мне в рублях по курсу будут перечеслять?
Если ты решил завалить AppStore спам-приложениями, можешь сразу про это забыть.
Там ручная премодерация каждого приложения (ждать будешь 1-2 недели).
И если они заметят что ты туда говно льешь, тебе сразу заблокируют аккаунт.
Переключишь лучше на Android / Windows Phone - там модерации почти нет.
(знаю компанию которая держит сотни клонов популярных приложений).
Ебать ты слоупок
А какая разница, 70% от выручки в рублях или в долларах? Ну или к чему было вообще упоминать это в предложении тогда, если вопрос "в какой валюте платят"?
Свифт тебе нужен, чтобы писать или поддерживать проект на нём. Обж-Си выпиливать? Вряд ли.
Лет через 15 закончат поддержку, переезд на новые технологии в таких компаниях не за пару лет проходит.
>>739725
Рано или поздно-то будут, на нём всё равно ничего серьёзнее гуевых фреймворков не написано.
>гуевых фреймворков
Там только оболочка из классов с методами, в имплементации методов там сишка или плюсы
Как в повседневной жизни мне нужен пошаговый пример как передается данные из одного класса в другой, это наверное единственная тема которую не могу нормально понять
Какой же ты упоротый всё-таки с этой своей передачей данных из класса в класс. Ты же тут был уже с этим вопросом, да?
Чё? Я только недели две назад вкатился в иос, впервые в тебе, мне мак подарили на др друзья, решил начать вкатываться чтобы с нынешней уйти, читал кочана, но там что то про это не понял, мне ты видео урок, Анон выше вот про делегаты писал, но без примера я вот не понял
читни про делегат в любой книжке по паттерны, концептуально, это как раз ГоФовский делегат, в отличии от других яблочный реализаций паттернов
кво НИНУЖЕН, смотри туториалы по reactive cocoa
Старая конфа умерла. Новая официальная конфа по ссылке.
старая конфа живее всех живых, скам был удален и вкатился в новую конфу, итого: старая конфа - около айосные обсуждения, новая конфа - флуд и срач
> а тут хуяк и ±6 мб сверху.
Я тут расследовал почему мой проект занимает 300 мб на диске. Пэипаловская либа cardio, которую поды ставят вместе с пэипал сдк, занимает 289 мб. А ты жалеешь 6 мб
Пикча отклеилась
На бинарник это не влияет. Это твой мак просто хранит кучу данных для компиляции.
найс, гиря голос подала
Кто-нибудь theos юзал? Насколько перспективно продавать твики в cydia? Там же вроде нет ебли с платными подписками и т.д.
Но там ведь вроде пакеты просто для написания программы на свифте, но не ipa под ios
Там нихуя нет, ни фаундейшн ни юикит
Ибо официальные облачные серваки с OS X слишком дорогие (а приложения у меня опенсорсные и бесплатные).
Может быть неофициально, главно что-бы хостер не придирчивый был.
Ребят, поясните на сколько перспективна мобильная разработка или скоро все перейдет в веб и все будут писать на js?
>Ибо официальные облачные серваки с OS X слишком дорогие (а приложения у меня опенсорсные и бесплатные).
Писал бы под линукс и мозги не ебал
>Ребят, поясните на сколько перспективна мобильная разработка или скоро все перейдет в веб и все будут писать на js?
JS сдохнет, см https://2ch.hk/pr/res/743292.html (М)
Зачем в MVC нужен Controller? Не проще ли сразу делать Model - View?
не проще MVVM
Я думаю, это был сарказм
Тут вопрос - что нагружать логикой. Либо ты нагрузишь логикой модель, либо вьюху. Один хуй где-то придётся эту логику держать.
Читал тут пост на quora, там человек писал, что мобильная разработка это 90% времени работа с UI двигая элементы по экрану мышкой, что это пипец как скучно и вообще.
Успешные аноны не расскажут так ли это? Какие интересные задачи вы решаете в работе.
В вебе есть пердоленье с линуксом, работа с разными базами, управление конфигурацией, балансеры, кэши, демоны, распределенка.
А в мобайле?
>мобильная разработка это 90% времени работа с UI
Это так и есть.
>что это пипец как скучно и вообще
Программирование это вообще пипец как скучно, профессия такая. Сначала когда изучаешь технологию которая тебе нравится и начинаешь проект - всё заебись, потом это переходит в рутину и пердолинг с легаси-говном.
>В вебе есть
Половина перечисленного тобой - работа сисадминов. Остальное - такая же рутина.
>А в мобайле
Нихуя нету. Скачай любое приложение и посмотри что оно делает. Сплошные красивые обёртки над сайтами с минимальной логикой.
>мобильная разработка это 90% времени работа с UI
Сколько процентов – это зависит от сложности проекта и твоей роли в нём. Но в целом – да, мобилки это же фронтенд.
>двигая элементы по экрану мышкой
Вообще не использую interface builer. В сложных проектах это возможно, но без него мне привычней. Относительно скуки – не соскучишься, если проект не обезьяний.
>Какие интересные задачи вы решаете в работе.
Продумывание оптимальной архитектуры и логики на всех слоях – слое данных, представлений, контроллеров – всё ведь можно сделать 1000 и одним способом.
Анимашки, опять же. Пердолясь с ними, ты не соскучишься.
Работа с сетью, сериализация\десериализация – если проект действительно сложный, то одного поделия от Аламофайер из коробки не хватит. Один раз разгрести это дело, дальше будет проще, сложность, только если понадобится прикручивать действительно сложные вещи.
>пердоленье с линуксом, работа с разными базами, управление конфигурацией, балансеры, кэши, демоны, распределенка.
Удваиваю анона выше. Этим должны заниматься админы и девопсы. Если этим занимаются в основном всякие джависты – это значит, что в команде неправильно выстроены процессы.
Вообще, я всем рекомендую идти в бэк. Станешь умнее. Освоишь докер, балансировочные решения. Маппинг апишек. Монгу. Эх, весело.
В мобилках ты так и будешь лабать мусипусечки для мобилок.
> Вообще не использую interface builer.
Как ты констрейнты расставляешь?, в коде это же огромные портянки из бойлерплейта.
Скажи еще что до сих по на Object-C пишешь.
Не знаю как он, но VFL - отличная хуитка, всё очень наглядно.
Да, портянки. Более того, автолэйаут не везде использую.
Пишу на Обж-Си, но планирую начать писать новый код на свифте. И мож старый переписывать под него. Планирую.
>>750119
>Вообще, я всем рекомендую идти в бэк. Станешь умнее. Освоишь докер, балансировочные решения. Маппинг апишек. Монгу. Эх, весело.
>В мобилках ты так и будешь лабать мусипусечки для мобилок.
Не могу распознать, это сарказм или нет?
Слоупок, обнови ось
В чем прикол?
Что бы это не было – в каждом сарказме есть лишь доля сарказма. Серьёзно. Не попробуешь на себе – не узнаешь, скучно это или нет. Ну и ещё: "Хорошо там, где нас нет". Может, мне бы хотелось быть джавистом, ломать голову над тем, сколько десятков гигов разрешить сожрать приложению, деплоиться по 5 часов. А тому джависту, на которого я завороженно смотрю, хотелось бы не думать о ресурсах и охуевать от того, почему эта анимашка работает вопреки всем законам кинематики.
>Multiple methods named “<method name>” found with mismatched result, parameter type or attributes
Все это конечно охуительно и про это ограничение я читал в офф гайде, но как мне теперь реализовать паттерн "Стратегия"?
Ладно, для стратегии это не особо большая проблема, а вот как обеспечить позднее связывание, мне решительно не ясно.
Я хочу сделать позднее связывание, чтобы иметь возможность подкинуть dummy-класс в объект для тестирование. Mocking я не использую, поэтому решил сделать аля питон - втупую хранить по id. Но получаю эту ошибку. Я так понял, ARC engine чего-то не может сделать - тут я еще уточню. Но как мне добиться желаемого не делая общий протокол для dummy и обычного класса?
>подкинуть dummy-класс в объект для тестирование
NSProxy погугли, мб пригодится, оно что-то подобное делает вроде.
Как считаете стоит в iOS разработку уходить из энтерпрайзной Java?
Мак и желание фрилансить и пилить свои аппы (хотя кому они нафиг нужны) в будущем имеется.
попробуй в свободное время айос, если понравится то перекатывайся
her = "zhopa2" }
Как мне лучше получить значение в залупе?
в словарь брать и затем просто по ключу?
написать класс который отвечает предметной области. Перегнать дж-сон в класс, дальше берешь по проперти
Скутаренко, по курсам которого мы все учились, наш великий учитель, предал эпл и ушел работать в гугл и теперь пилит курс для андроид. Это начало конца.
> Из умного бэкендера
Ты хотел сказать интерпрайз-макаки
Двачую адеквата, в интерпрайзе задачи гораздо интересней и Java куда удобнее/современнее свифта
Да уж интересно что пипец
>>Двачую адеквата, в интерпрайзе задачи гораздо интересней и Java куда удобнее/современнее свифта
ну нельзя же так жирно
Сам иди в эту парашу.
Если есть пизда в коллективе, я буду думать не о работе, а о ебле.
Пришел домой, тут старенький 7.2 стоит, И ВСЁ РАБОТАЕТ БЛЯТЬ, ВСЕ ЕНУМЫ БЛЯТЬ ПОКАЗЫВАЕТ В ВАРИАНТАХ ВЫБОРА, ГОСПОДИ 10 из 10.
Ебаный 7.3, эпол, будь ты проклята.
Выключил показ предложений автокомплита вообще и всем рекомендую. Если уж нужно – нажмёшь Esc
Если нет, то всё, что там нужно, это немного математики и готово, да?
iOS это не Android:
Что бы это работало (с твоей точностью), нужно чтобы твое приложение было открыто и постоянно был включен экран.
В ином случае твое приложение просто остановит система.
Ну это мелочи. Да и, говорят, что можно и в бэкграунде http://stackoverflow.com/questions/28941981/accessing-the-accelerometer-in-ios-while-running-in-the-background
У меня вопрос, в основном, в том, что не собьёте ли это всё? Как там ускорение вычисляется, среднее за прошедший промежуток между эвентами? Телефон же в кармане во всех трёх направления будет постоянно болтаться, изменяя и ориентацию.
В общем, не смотря на систему даже, просто с концептуальной точки зрения, это ведь возможно? А то вот представил, что если значения ускорения будут передавать раз в два шага, скажем (для примера, понятно, что там миллисекунду будут), то телефон сначала ускорится, а потом замедлится, остановившись, пока другая нога двигается. И всё, среднее ускорение 0, а ведь подвинулся. Подонбого плана проблемы могут возникнуть?
да оно вообще не работает сейчас. Вот тебе надо написать чтонибудь типа [NSLayoutConstraint constraintWithItem:container attribute:... и всё, пизда - хуй ты выберешь нужную опцию среди атрибутов, нажмёшь ты Esc или нет - список выпадает, но он пустой, и в нём отображаются только те варианты, которые ранее встречались в этом же классе. Приходится через cmd+click ебашить в метод, там щёлкать на имя енама и, провалившись в него, выбирать нужное.
Ёбаный эпол, надо же было так сломать всё к хуям.
1. Как изменить текст Your Routes на скрине при нажатии на элементы таблицы.
2. Как зафиксировать верхнюю шапку, если этот текст прописать над таблицей в тейблвиевконтроллере?
У меня ни так, ни эдак не выходит, не знаю что делать.
Ты можешь сделать это через простой тейблвью с одной секцией и sectionHeaderView - тогда этот хедервью не будет улетать, а постоянно будет находиться на экране.
Дано: Строка content с текстом, строка regexString для разделителей
Задача: Получить массив строк, разделённых этим regex'ом
Сложность: Сделать это без извращений
Делегат жи есть.
У тебя по сути получается Container ViewController, который держит внутри себя встроенный контроллер. Общайся делегатами.
Спасибо.
Подскажите пожалуйста, может где есть гайд.
В общем я делаю приложение с картой, и мне нужно, чтобы мои координаты отправлялись на определенный сервер, допустим с периодичностью в 15 минут.
Спасибо, но как мне в неё впихнуть то, что я хочу, а не создавать новый хедер? Или как в этот новый хедер вставить то, что я хочу? Там нил.
Ну кастомный класс сделай, со своими контролами, сохрани ссылочку на него и используй как тебе вздумается. Что ты как маленький.
http://rgho.st/6x98Wq9T2
И зачем ты там вообще UITableViewCell используешь то? Криво получается же. Там обычная вьюха нужна. Накрайняк обёрнутая во viewController, если сильно хочется.
https://nilhcem.github.io/swift-is-like-kotlin/
Похожи то похожи, но у свифта есть более удобные if let, guard let, нормальные литералы массивов и дикшэнарей, а не arrayOf ( ... ) mapOf ( ... to ...)
Говно ваш свифт ебанный.
Делал проект на сфите еще под Мавериксом, все работало нормально. Пару месяцев назад решил собрать этот проект под капитаном, скомпилилось все без ошибок, но тут же упало при запуске. Пришлось все с переделывать. И где тут гарантия, что после выхода свифт 3 такая же фигня не произойдет?
>скомпилилось
Сразу видно джуна, сеньоры говорят "скоНпилилось".
Потому и не работает у тебя ничего.
Во первых: сейчас вопрос выбора вообще не стоит.
Во вторых:
> у свифта есть более удобные if let, guard let
По факту это вкусовщина, размер кода и понятность такая же (тем более когда есть автокаст).
Вообще в Kotlin есть девиз "как можно меньше внедрять в язык, а делать на уровне библиотеки".
Это более гибкий подход для языка и даст преимущество в будущем (Apple конечно на это плевать, они язык ломают каждые полгода).
Кстати скоро в Kotlin появится async/await/yield "из коробки", вот тогда заживем.
юзаю котли уже год (свифт слегка щупал)
>Сразу видно джуна, сеньоры говорят "скоНпилилось".
Во-первых, to compile поэтому скомпилить.
Во-вторых, это не имеет отношения к тому что свифт - говно.
Эпол писали о том, что обратной совместимости между версиями можно не ждать?
Разбить строку в массив по регексу
Kotlin: str.split(regex.toRegex())
Swift: Всё ещё не знаю как >>756862
Давно бы уже написал категорию к String и не ебал себе мозг
let regEx = NSRegularExpression.regularExpressionWithPattern
(splitter, options: NSRegularExpressionOptions(), error: nil)
let stop = "SomeStringThatYouDoNotExpectToOccurInSelf"
let modifiedString = regEx.stringByReplacingMatchesInString
(self, options: NSMatchingOptions(),
range: NSMakeRange(0, countElements(self)),
withTemplate:stop)
return modifiedString.componentsSeparatedByString(stop)
>>757767
Я сразу по error: nil и countElements вижу, что эта кривота не заработает на текущей версии отбросов Тима Кука.
Мало того, что твой код напоминает танцы вокруг плюсов до времён C++11, он ещё и не рабочий. Плюсишные костыли хотя бы один раз написал, засунул в либу и забыл об этом ужасе до времён оптимизации. А тут ещё и каждый раз придётся лезть в код и недоумевать от очередных яблочных приблуд.
Высокоуровневый язык, my ass.
Да я и не говорю что на этом сырье надо что-то писать - считаю что те, кто уже перелез на свифт - лютые говноеды.
Эпол в момент релиза Swift, сразу сказали что спеки будут сырые и что всё пока as is.
Не что-то - оформляй issue в гите свифта - впилят. Или сам впиливай и пытайся пульнуть.
Сырой язык, и всё тут.
с мэпвью это я погорячился, да.
Ты их приводишь как пример крутых ios-разработчиков сейчас? У них ios-клиент работает как говно сраное - с притормаживаниями и подвисаниями.
Ты просто присваиваешь лейблу хедера значение и вставляешь. Как мне вставить много элементов?
>>757672
У меня вопрос как в этих темах примерно:
http://stackoverflow.com/questions/9219234/how-to-implement-custom-table-view-section-headers-and-footers-with-storyboard
http://stackoverflow.com/questions/13379547/dequeuereusablecellwithidentifier-always-returns-nil-not-using-storyboard
У меня просто создается пустой новый хедер.
>Ты просто присваиваешь лейблу хедера значение и вставляешь.
Ты в CustomHeaderView заглядывал вообще?
Чот дебик какой-то))0
http://rgho.st/7PhrZTKPP
В моем приложении, есть момент где есть некий CIfilter, который смешивает два изображения. Но суть не в нём, а в
куске кода, который CIImage -> UIImage для вывода на экран.
Вот он
context = CIContext(options:nil)
let cgimg = context.createCGImage(filter.outputImage, fromRect: filter.outputImage.extent())
imageView.image = cgimg
Он работает, но сука, жутко тормозит систему. А обработка мне нужна "на лету". Пробовал его заменить на
let newImage = UIImage(CIImage: filter.outputImage)
imageView.image = newImage
Но этот код возвращает пустое изображение, не Nil, а именно пустое.
Вообщем вопрос, как с минимальными ресурсами перевести CIImage из фильтра в UIImage?
Асинхронно в этом случае нельзя, входное изображение максимально оптимизирую перед подачей в фильтр.
первый кусок кода написал с ошибкой, там так.
context = CIContext(options:nil)
let cgimg = context.createCGImage(filter.outputImage, fromRect: filter.outputImage.extent())
let newImage = UIImage(CGImage: cgimg)
imageView.image = newImage
отбой, сам разобрался, нужно было вынести инициализацию контекста вне цикла с фильтром, что бы не дергать его лишний раз.
Есть одна загвоздочка - никогда не кодил под iOS, Cи был только на первом курсе в виде laba1. ОО-концепцию понимаю, и, как любой Java-питух, пробовал кодить под андроид.
ОП-пост читал не жопой, просто попрошу знающих анончиков чуть более подробно и исходя из специфики моего реквеста написать мне road-way. И с чего начать-то.
> trainee iOS-разработчика
Это что такое? Судя по слову "вакансия" тебе за это деньги платить будут или как?
Ну и план за щекой поищи
Trainee == практикант/стажёр.
Да, как я уже упоминал, мне дадут мак плюс какая-то небольшая плата.
За щекой поискал, ничего не нашёл. Можешь из-за своей достать и все-таки указать road-way?
стенфордские лекции
Чувак. Заходи на русракер. А дальше в зависимости от того, на чём будешь писать проекты: пишешь objective-c lynda.com или swift lynda.com. Ещё есть охуенные лекции от них более узкоспециализированные
Делюсь ещё одной порцией информации: им нужны iOS-разработчики, но тестовое задание на проверку теории будет по Си/Си++. На мой вопрос "Почему сразу бы не спрашивать по Obj-C?" - ответили "Чтобы люди и со знанием Си тоже могли попробовать, мы из переучим в ходе стажировки".
Поясните, это нормально? Мне придётся вспоминать няшную и плюсы хотя бы на базовом уровне. Такой-то ад.
Какая-то охуительная логика, ну да ладно.
Плюсы не нормально, С нормально. Обжектив - надмножество С, если ты знаешь обжектив, знаешь и С. На трейни iOS распространено когда требуют С (иногда вообще любой язык) а не обжектив. Там не должны какую-то заумную ебалу спрашивать - только синтаксис. Тащемта для iOS разработчика плюсы тоже относительно полезно знать, хотябы на уровне общего синтаксиса - в некоторых вакансиях требуют, но это скорее специфические случаи. Плюсовые исходники достаточно просто подключить к обжектив проекту, если есть хорошая плюсовая библиотека (а их больше на плюсах чем на обжективе) то лучше ее использовать. В моем бодишопе (iOS) на одном проекте использовали boost (для линала) - но это требование заказчика было. Специально учить плюсы естественно не стоит, тем более новичку. Но в общем их знание небольшой плюс, если вдруг есть желание. У нас новичек как-то проговорился что он интересуется плюсами (и D), понемного Qt ковыряет. Его ПМ потом долго пытал пытаясь выбить признание что он "знает плюсы" - чтобы его как плюсовика можно было продавать, но чувак отморозился.
> Тащемта для iOS разработчика плюсы тоже относительно полезно знать, хотябы на уровне общего синтаксиса
Будут вопросы по самым банальным вещам: встроенные типы данных, объявление, инициализация; операции - арифметические, присваивания, битовые; циклы и условные операторы; классы - поля, методы, статические переменное и так далее; наследование и полиморфизм. Это все, как я понял, относится к Си/Си++. Так-то, два года назад начинал своё знакомство с программированием этих языков. В плюсах базовые вещи освоил. Сейчас надо как-то за чуть более, чем неделю все это освежить в памяти. Уже когд как занимаюсь Java, все из плюсов забыто.
Спасибо за столь развёрнутый ответ.
Есть json ответ от ВК в виде всех записей стены, вот к примеру начало
response: {
count: 617,
items: [{
id: 67640,
from_id: -86529522,
owner_id: -86529522,
date: 1465326080,
post_type: 'post',
text: 'Создатель [club41960539|Крошки Ши] на VK Fest'
Используя swift + swiftyJson пытаюсь получить например "id" первой записи на стене
Составляю запрос:
if let id = jsonResult["response"][1]["items"][0]["id"].string {
print("ID: \(id)")
}
И получаю хуй. jsonResult точно правильный, при выводе print(jsonResult) в консоли вижу все вот это. Где я делаю что не так? Просто логика обращения к джосн мне не очень понятна как новичку, особенно через костыли.
Я так понял, что response - это что то вроде массива, у которого первый элемент это count, а второй items. Видел что так делали в примере.
>>764637
попробовал сделать так
if let id = jsonResult["response"]["items"]["id"].string {
print("ID: \(id)")
}
Все равно не работает.
Пробуй ["response"]["items"][0]["id"]
Тебе в объекте response нужно свойство items, которое является массивом, в нем ты берешь [0] элемент.
if let id = jsonResult["response"]["items"][0]["id"].string {
print("\(id) ID")
}
Попробовал, не хочет. Я вообще не попадаю в тело цикла, т.е. swiftyJson где то натыкается на nil в моем запросе.
Опять же, json точно не пустой и соответствует тому, что я скинул.
К слову, этот код
if let array = jsonResult["response"].array {
print(array[0])
}
возвращает верное значение count.
https://new.vk.com/dev/wall.get?params[owner_id]=-86529522¶ms[count]=3¶ms[filter]=owner¶ms[extended]=1¶ms[v]=5.52
Вот тут можно посмотреть пример ответа вк, если это важно(нужно быть залогиненным вк)
Может проблема в этом?
Пробовал выводить jsonResult в терминал в виде стринга, и там увидел вот такое:
{
"response" : [
655,
{
"id" : 830,
"comments" : {
"count" : 0,
"can_post" : 1
},
"reply_count" : 0,
"can_delete" : 1,
немного отличается от официального api вк, может в этом проблема?
Допустим что-то произойдет, где Apple сделает неверную ставку и сольется как Nokia или как Siemens ну или как вот там иные всякие гиганты кажущиеся непотопляемыми проебывают рынок, что потом о них и не вспоминают.
Т.е. можно, конечно, сидеть тут сейчас и приводить мантры и аргументы уровня геополитики почему это не произойдет но меня интересует вопрос куда можно будет совершить перекат, если у нас все завязано на фреймворке фоундейшен, который нигде больше не используетс ?. Т.е. какая область имеет наивысший потенциал по перекату или они все откатятся в почти начальную точку ?
Почему перешли?
Что заебало?
Куда перешли?
Есть ли какая-то тенденция переката iOSников в какую-то определенную область или у всех хаотично ?
Просто дрочусь на линухе, а писать тут западло, нету того функционала.
:C
Ну учи кросплатформу, там много вариантов.
>>767397
Дурачек, iOS это на айфонах, на десктопе OS X.
Если собрался шпилить под натив (swift/obj-c для ios), то тут без OS X не обойтись.
Нет конечно. iOS-разработчик – это высшая стадия развития кодера.
Я не спрашиваю, что учить. Я не спрашиваю как предупредить проблему, я спрашиваю, что будет, когда и если она настанет
Не произойдёт. Эппл – это пендосики, сравнил тоже с каким-то Сименсом или Нокией
Я сам вообще начитавшись всяких анонов избегал веба и всего, что с ним связано как огня, чтобы не утянуло ложной легкой дорогой в начале обучения, что даже ни разу html страницу типа my home page не создавал в отличие от множества людей делавших это и не даже не связанных с программированием.
Я как-то недавно попробовал python и он мне так понравился, он был таким ПРОСТЫМ няшным и понятным после боли и ебли с obj-c, что мне стоило сделать над собой усилие, чтобы не искусится этим демоном и продолжать держать уздья в правильном в долгосрочной перспективе направлении.
Зависит от того, чем ты будешь заниматься. Если пишешь бэк для своих приложух – очевидные питухон\джава, если фронты – ЖС\Реакт.
Финальная цель — что-то типа "места, по которым уже ходил".
Мечтаю о геймдеве но чувствую сначала придется насосаться хуев во всякой параше
Старые добрые времена
> Не работает под Макинтошем. Понятно. Не было печали - купила баба Макинтош. Будь проклят тот день, когда Стивен Джобс вернулся в Эппл. Глядишь, уже и обанкротились бы. Так нет же…. Ну, пойдем смотреть. Где этот чертов суперкомпьютер? Велкам ту Макинтош. Издевательство какое-то над людьми - ну зачем, зачем они покупают этот мусор за тысячи долларов? Да нет, мне не жалко их тысяч. Но ведь мы должны поддерживать этот антиквариат! Ладно, я спокоен. Я спокоен как змея. Да, вижу, не работает. Да, ошибка есть. Да, будем исправлять. Есть в этой суперсистеме телнет? Нету? А кто сомневался. Ты сомневался? Я - нет, не сомневался. В ней только фотошоп есть и все. Это специальная система для фотошопа. Так бы и продавали - макинтош для фотошопа. А телнет - зачем ей телнет? Не нужен ей телнет
4 ГБ памяти
Жёсткий диск объёмом 500 ГБ кто-нибудь прогал на таком?
Если проект на неск сотен классов, то при перескакивании с ветку на ветку компиляться будет долго
от 8
(
{
fio = "Vasya"
adress = "moscow"
},
{
fio = "Nikolay"
adress = "spb"
},
{
fio = "Sergey"
adress = "novgorod"
}
)
Я получил дату в афнетворке, успешно закинул в массив дату = посмотрел все ок по логу, теперь как мне в объект HumanOrder записать?
делаю
for (NSMutableDictionary dictionary in dataArray) {
HumanOrder humOrd = [[HumanOrder alloc] init];
humOrd.fio = [dictionary objectForKey:@"fio"];
humOrd.city = [dictionary objectForKey:@"adress"];
[itemsArray addObject:humOrd];
}
Ничего, как прально теперь из массива забрать и по объекту раскидать?
(
{
fio = "Vasya"
adress = "moscow"
},
{
fio = "Nikolay"
adress = "spb"
},
{
fio = "Sergey"
adress = "novgorod"
}
)
Я получил дату в афнетворке, успешно закинул в массив дату = посмотрел все ок по логу, теперь как мне в объект HumanOrder записать?
делаю
for (NSMutableDictionary dictionary in dataArray) {
HumanOrder humOrd = [[HumanOrder alloc] init];
humOrd.fio = [dictionary objectForKey:@"fio"];
humOrd.city = [dictionary objectForKey:@"adress"];
[itemsArray addObject:humOrd];
}
Ничего, как прально теперь из массива забрать и по объекту раскидать?
бля указатели проебались но вы поняли
ебать прикол
> async/await/yield "из коробки", вот тогда заживем.
Да, мне, кстати, припекает от того, что эпол не собирается запилить асинк эвэйт. Во всяком случае планы на эту фичу не гуглятся. А ведь это будущее асинхронного программирования
Да, регулярки они ещё не довели до ума. Давно пора было запилить оператор ~= для строк из коробки. Он есть для рангов и энумов, а для строк приходится определять его самостоятельно. Но я смотрю, в 3-м уже выбрасывают префиксы NS и вообще пилят новую foundation специально для свифта. Вот тогда и эти костыли перепишут. Обещают запилить в версии 3, если не ошибаюсь
> с сдк ничего нет
А схуяли там должно быть про СДК? Там учебник по языку. Гугли документацию по Cocoa, китам
Autolayout охуенен, многие контролы в какаве продуманее и современнее, чем, например, винапишные контролы
лучше блокнот
Свифт бы тебя сразу нахуй послал с неинициализированной переменной. А потом тут кукарекают - зачем мне свифт, мне и на обжективе неплохо
pod sd_webimage
Планирую перекатиться на иось, хватит ли мощностей MBP 13 2015 i5/8GB/256 для кодинга? Не загнетлся ли мак после запуска xcode?
Допустим есть яечйка с 4 лейблами 1 и 2 лейбл подтягиваются из модели. затем гружу данные и должен заполнить 3 и 4 лейбл, в 3 лейбл из одного массива данные приходят в 4 лейбл из другого, причем эти данные есть не на все данные модели.
Короче вот пример
1 1 4 0
2 2 0 0
3 3 12 11
Т.е. там где есть такой же айдишник - заполняем, нет - пропускаем, как быть, подскажите. Сижу туплю
Хех я на 4gb/128gb macbook air сижу и все норм, а тебе с твоими hello-world должно хватить и подавно.
Главное запомни, никогда не делать storyboard >4 контроллерами внутри, гарантированно будут тормаза на открытие.
я просто даже теоретически не знаю ресурсоемкость кодинга под иось, но знаю что в моей нынешней вебпараше 8гб мало (правда на убунте).
Спасибо.
Что тебе мешает добавить те два массива в модель и заполнять не только 2 лейбла, а все 4?
>никогда не делать storyboard >4 контроллерами внутри,
Лучше ориентироваться не по количеству, а по логике сториборды.
Сториборда должна быть для опеределннного кэйсфлоу. Если надо, то можно и 8 запихнуть (ну главное не переусердствовать да)
хуле до него доебался, я из-за невнимательности тоже ошибки делал в свое время глупые
Ты недопонял этого господина, сформируй новый датасорс с окончательными данными, а потом уже заполняй
правой кнопочкой зажимаешь и перетаскиваешь в код с помощью панели ассистента
Ну так ты там указываешь лишь имя это переменной и ее тип. Откуда компилятор знает что я имел ввиду именно эту вьюху? В Андрюхе есть Класс R. в котором генерятся айдишники для вьюх, которые ты потом в коде и юзаешь.
И еще, как дела обстоят юай потоками? Типа я могу к сети обращаться прям из него, и нихуя висеть и ожидать ответа не будет? Или есть какой нибудь async как в c#?
> И еще, как дела обстоят юай потоками?
Так же как в андроиде: есть главный тред, есть фоновые.
Небольшая разница в том что для web запросов вообще нет синхронного апи, а только асинхронное через колбеки.
> async как в c#
Таких нет, в основном все пользуются Grand Central Dispatch, это что-то тип экзекьюторов в Java.
Там есть несколько готовых (для главного потока, для фоновых с разным приоритетом), но можешь и свой создать.
Бля, суть не в этом. Я если напишу вот такую строчку в коде - @IBOutlet weak var lCash: UILabel!
ну и создам в юай лэйбл, где мне устанавливать связь между этим кодом и вьюхой?
У каждой вьюхи на storyboard есть аналог andorid/id - это случайно-генерируемая строка (типа Uuid).
Явно она используется в основном только для локализации.
[см пик 1]
Так же внутри storyboard хранится информация о соответствие поля контроллера (property) к ее "id" (destination).
Все! Вот то, что я хотел знать! Огромное спасибо. Программач лучше всяких стаков и тостеров.
З.Ы где на маке хранятся стандартные пикчи которые на десктоп ложатся по дефолту?
Понятен прикол со свифтом – для косолапых. Знаете, это примерно как среди монтажников-высотников. Одни из них, малоопытные, пользуются страховочным поясом. Другие – никогда не пользуются. Первые падают и разбиваются, вторые – никогда. Происходит это потому, что тот, кто поясом пользуется, создает себе иллюзию безопасности. Однажды он забыл застегнуться, и вот уж его кости собирают в ящик. Тот, кто поясом не пользуется, – иллюзий не имеет. Он постоянно контролирует каждый свой шаг и никогда на высоте не расслабляется.
По идее никак.
Но можно вспомнить, что в настройках отображается потребление трафика, значит эта инфа где то хранится (в бд конечно же!) и возможно они оттуда берут эти данные.
А где эта бд? Вряд ли же они пропускают приложения, которые лезут куда не просят.
ВНИМАНИЕ! ПЛАТИНОВЫЙ ВОПРОС ЗДЕСЬ!
Итак, анончики. Решил я заняться изучением Swift'а и говнокодить под IOS.
Прочитал документацию по типам данных, структурам, операторам и т.д. Всё хуйня, не сложнее чем в других языках.
Теперь реквестирую мануалов по ООП (классам, хуясам и т.д) и использованию GUI. Желательно с примерами.
Так же расскажите, что я прямо сейчас должен скачать без регистрации и СМС, чтобы накодить свой хэллоуворлд.
> ПЛАТИНОВЫЙ ВОПРОС
> Выпускник ВУЗа 2014
Это уже клиника, додвачевался ты голубчик.
Кто этот педалик на пикче?
По сабжу: читай raywenderlich и доки эппла, дюже годно и православно.
З.Ы знаю про http://www.ioscookies.com/ui-ux и awesome репу на гитхабе
Спасибо Анон! То что нужно, жаль правда разделов с категориями для либ нет.
Никогда в тебе не сомневался!
Если какие то перспективы в этом в России?
Изучать чисто для практики и опыта в программировании вообще. Как самообразование.
Спасибо, значит буду ебошить в этом направлении
Староват ты конечно для этого, Apple детей в него обучает.
http://www.apple.com/swift/playgrounds/
https://www.youtube.com/watch?v=mnQ-tKzkoOs
>с чего начинать обучение и как продолжать
Ишь ты, хитрый какой. Мы тут лампово няшимся вообще-то, текущей тусовочкой. Зачем нам тупые новички, которые сначала глупые вопросы задают, а потом еще и заработные платы демпингуют.
все коммерческие проекты разрабатываются на obj-c, на swift не многие рискуют свои проекты переводить.
дело не в языке а в поиске информации в книжках, уже все устарело, извини
Все, блядь, все, конечно
Да похуй всем на свифт, пока он не устаканится и эпол не скажет - "Всё, всё готово, пишите".
Runtime имел в виду
Обычна клавиатура, не епловская.
кун
>У меня куча знаний по иоси, но все пиздец разбросано, посоветуйте книгу структурировать это все. А то на практике я все по немного использовал и не всегда понимал суть как это работает
Ios technology overview. А вообше, нехуй было по верхам скакать и вместо того, чтобы копипастить с SO надо было читать гайды
Ну я просто книжки не нашел подходящей для себя. Везде вода или устаревшее было
А тем временем боги пишут на Xamarin.iOS
Устал поисковик дрочить, не могу найти.
Поищи на амазоне или на дригих заграничных книжных магазинов.
Там часто продают книги в электронном виде.
> я абсолютный ноль в кодинге, но когда-то забесплатно сделал что-то издали слегка напоминающее то, о чем ты говоришь, но цену я тебе все-равно не скажу.
Спасибо, ваш комментарий очень важен для нас
лол, сид иблядь со своим миником и не выебывайся, нищенка блядь, а гонит на анона.
не миник, а древний не ретина макбук
"Beginning iPhone Development with Swift 2: Exploring the iOS SDK pdf" - первая ссылка в гугл.
Ты ебанутый?
А если ближе к делу?
С нуля без опыта в айти? Ну если ты сможешь чисто на доход с этих аппов выживать без проблем в Москве на съёмной квартире, то возьмут.
Не, опыта в айти как у дурака махорки, 5 лет, но в вебе
Просто дома хуево учится, а вот когда РЕАЛЬНЫЕ ЗАДАЧИ РЕШАЕШЬ, ну ты понил
Глупые вопросы какие-то, ты из деревни что ли. Сначала надо гей-шлюхой на панели постоять, поторговать жопой, чтобы накопить на макбук, айфон и айпад. А потом уже и начинать программировать.
Да, братишка, я ебанутый.
Стенфордские курсы не предлагать, на слух не воспринимаю инглиш, а вот читать могу.
если бомж без яблокотехники, возможно стать программистом под iOS или андройд и не выебыватся?
поднять на виртуалке систему. я и спрашиваю реально или нет. без шуток, вроде ж норм спросил
поднимай виртуалку и пиши , в чем проблема то ?
в офис попадешь будешь писать на маке\мак мини
тут скорее вопрос от знатоков, я в жизне яблокотехнику не держал дольше 10 минут. возможно не целесобразно пытатся писать под iOS в такой ситуации? хочу чтоб анон меня успокоел или сказал что не стоит и сказал правду
как мне с вопросом по эпплу помогут в другом треде?
На виртуалбоксе макОС работает уже вроде нормально, про икскод ничего не скажу
А какая не хуевая? Я только начал ее читать.
В случае виртуалки производительность CPU будет такой же. gpu будет подлагивать, да.
Важный момент - удобство пользования. Для меня разница в юзабилити между виртуалкой и нативной системой огромная.
девайс вибрирует
а надо чтоб не вибрировал
анон, выручай
ну я же писал что я никогда не пользовался этой техникой дольше 10 минут. изначально вопрос был в том возможноли адекватно кодить под яблоко если сам не являешся владельцем яблочной техники.
нет, единственный вариант - кодить используя хакинтош, что гемор, и некоторые компоненты не работают на симуляторе (камера, почта), прога просто падает, нужен хотя бы айпод попущеный, желательно иметь мак
aps = {
action = 1;
"content-available" = 1;
sound = "";
};
алсо, пробовал выпиливать вообще sound, эффекта не дало
sound вроде полностью убрать надо, плюс в capabilities выставь background fetch
background fetch помогло, спасибо няша
учи cs193p от стенфорда за 2016 год https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961
и забудь про objective-c, к тому времени как ты научишься писать что-то нормальное, он уже будет легаси
>что гемор, и некоторые компоненты не работают на симуляторе (камера, почта)
У тебя просто неправильный хакинтош. На правильном - работает даже imessage
У меня и на макбуке камера в симуляторе не работает,
а почтового клиент вообще вроде не установлен.
ты понимаешь о чем пишешь? В симуляторе не работает камера, почта и нормально не работает геолокация, ты без девайса это нормально не протестируешь, если надо работать с AVFoundation, прийдется использовать девайс. У меня макбук, а не хакинтош
Давно ничего не писал на objc, даже сториборды и аутолайауты толком не использовал. Надо запилить простенький говнопроект по типу получи джсон от апи - покажи, отфильтруй список, покажи карточку, бесконечная прокрутка списка.
Какие yoba либы сразу подключить к проекту, чтоб удобнее было и веселей?
Cocoa Pods, AFNetworking. Стоит ли юзать сториборды или забить и хуярить нибы? Если понадобится кэшировать данные от апи, что лучше - core data или есть что-то получше, со связкой с AFNetworking (когда-то юзал RestKit, но не зашло)?
Спасибо. Жаль, придётся qemu джва дня пердолить а там, глядишь, и настоящую машину захочется.
Ньюфаг в обжективе.
Вы видите копию треда, сохраненную 26 июля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.