Это копия, сохраненная 23 октября 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
И первый вопрос. Как сделать, чтобы клавиатуда для UITextField вылезала снизу, поднимая вверх сам текстфилд и то, что над ним?
И второй. Как для UITextField сделать, чтобы он увеличивал количество строк, по мере заполнения контентом? Как в стандартной программе для сообщений.
Ищи на стаковерфлоу, макака криворукая.
Ну проекты типа в соло делались по фану. Стаж это же хуета в трудовой, тем более тут уж точно не 2 года стажа, как требуют. Проект можно на коленке за неделю сделать.
>Как сделать, чтобы клавиатуда для UITextField вылезала снизу, поднимая вверх сам текстфилд и то, что над ним?
Вьюху сдвигай, макак.
"1-3 года опыта" можно читать как "похуй на опыт, если не совсем овощ"
Я не под iOS пишу, но та же проблема. Есть идея объединиться для набивания резюме. Ну и можно вместе заказы на фрилансах искать.
Я на бэке, есть вебный фронтэндер. Третьим будешь?
Не, я вопрос задавал типа "на будущее", на момент когда у меня уже будут эти самые проекты в app store. На данный момент нет нихуя, в том числе скилов. А поизучав вакансии я и подумал, имеел ли смысл рыпаться вообще?
Охлол, откуда проекты в app store, если нет ни скиллов ни стажа?
> Стаж это же хуета в трудовой,
в данном случае стаж - это сколько времени работаешь.
если ты не работал на других дядь, то 1-2 проекта в аппсторе = твой опыт. Пусть это 2 месяца, но это не 0.
Присоединяйся, пили. И проекты появятся, пусть и простые. Мы ничего сложного делать пока не собираемся.
Я бы присоединился. Есть 3 годы опыта с рельсами и всем таким. Только из-за работы я вряд ли смогу больше 5 часов в неделю уделять вам.
Социобляди совсем пизданулись.
> 1
Подключить вот эту мокропиську - https://github.com/lionheart/LHSKeyboardAdjusting
> 2
Подключить вторую мокропиську -
https://github.com/MatejBalantic/MBAutoGrowingTextView
Если после objc тебе надо учить swift, то с такими способностями лучше сразу изучать метлу и готовиться к профессии дворника
Вот этого сударя двачую.
Вот этого двачую
Да, давай под каждый чих либу вставлять, заебись же - промышленное решение.
Da
http://sourcefreeze.com/uiwebview-example-using-swift-in-ios/
Но у меня на пикрелейтед ошибка.
Что не так?
там не UIWebView, а myWebView
>не тестировать ПО непосредственно на устройстве.
Подключить 6 девайсов и на каждом сидеть тестировать ?
бизнес-логику можно на 1 тестировать
1) Простейшая страница со всеми элементами посередине постоянно куда-то съезжает с центра экрана на разных гейфонах. Иногда за пределы экрана и не скроллится в стороны, только вверх-вниз
2) Как реализовать навигацию? Мне бы хватило кнопки назад, которая будет появляться как пользователь перейдет куда-нибудь по ссылке и исчезать, когда назад вернуться не получится
1) На вебвью констрейнты стоят? Попробуй еще это добавить http://stackoverflow.com/questions/3936041/how-to-determine-the-content-size-of-a-uiwebview
2) http://lmgtfy.com/?q=uiwebview+back+button+programmatically
Большое спасибо за констрейнты, теперь всё приколочено и наконец-то нормально работает. А вот по второму там основном обжектив С, по свифту ничо нет.
Я сделал кнопку, которая после перехода по ссылке появляется и по нажатии заставляет браузер переходить назад, после чего исчезает. Всё правильно сделал?
У UIWebView должно быть свойство canGoBack, можешь на него обсервер поставить, который будет отслеживать, можно ли перейти назад и в зависимости от этого скрывать/показывать кнопку. Пример смотри тут, 19 строка
А вообще, ябло пустить прогу, у которой на весь экран вебВью растянут, а на нем три списочка и кнопка, по которой открывается расписание института? Кривоватое расписание - широченная таблица, которая ни в один экран айфона не уместится, там будет одна только кнопка "Назад"
код пишешь в аппкоде, в икскоде настраиваешь проект и лепишь лайауты ??? профит
wut?
Хотел установить макось на виртуалку, но она не запускается, видимо потому что у меня процессор амд.
Какие есть еще способы создать приложение для ios?
пиши под ведро
HTML5 приложение
Как лучше в iOS приложении реализовать оценку приложения, но не как в iRate, а чтобы появлялось окно сразу со звездочками рейтинга? И чтобы результат оценки попадал в стор естественно.
В TopFace, да и хозяин конторы где-то тоже.
Только я вот не уверен, что данные в стор попадают, скорее всего на сервер к разрабам.
Спасибо.
Пробую пределать старый CoreWlanWirelessManager(https://developer.apple.com/library/mac/samplecode/CoreWLANWirelessManager/Introduction/Intro.html), который был написан для CoreWlan 1.0 под новый фреймворк CoreWlan 2.0, и все бы вроде нормально. На машине с 10.8.5 проблем вообще нет, программа создает сети/ подключается к другим сетям и т.д.
Но вот на макбуке с 10.9.5 иногда при создании/подключении к сети программа падает с ошибками:
Terminating app due to uncaught exception 'NSRangeException', reason: '* -[__NSArrayM insertObject:atIndex:]: index 3 beyond bounds [0 .. 1]' - при этом index и bounds всегда разные
И
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: (index >= 0) && (index < [_itemArray count])'
http://www.cocoabuilder.com/archive/cocoa/45514-nspopupbutton-problem.html - смог нагуглить, но неужели такой баг идет из 2001 года? И почему тогда на 10.8.5 его нет?
А в дебагере пробовал посмотреть кто там мимо массива промахивается?
Этот баг появляется не после исчезновения вьюхи?
А ты это с ios 3.0 компьютер и не менял, что ли? На моём 5-летнем аймаке ios 7 симулятор за 10 секунд с нуля старует. Настоящие мучения — это у ведроида. Там да, студия запуская за пол часа, симулятор минуты 3, выдавая при запуске даже самой ОС кучу ошибок в лог, депрекейтед методы в дефолтных шаблонах, непонятное поведение дефолтных же програм — сплошное удивление в общем.
Если хочешь работу искать то objc учи. Если для себя то можно опробывать свифтом обойтись.
Спасибо.
А еще какие-нибудь варианты есть? Или совсем нет?
Б/у ноубук на авито за 5к + скачанный с торрентов Хакинтош. Лурка пишет, что на ASUS Eee PC без проблем идет Lion.
Поацаны порекомендуйте фреймворки для тестирования под iOS, желательно чтобя ЯП был не obj-c.
Тесты нужны модульные и UI (что-нибудь вроде селениума бы)
закончил вузик на пограммиста, но прогать как то не тянуло, поэтому конкретно погроммированием занимался мало, так то знаю основы все дела, но чтоб вот прям сесть и прогать такого не было.
решил тут вставать скален, и попробовать запрогать под ios. Нашел уроки на appcode, потихоньку пилю.
правда есть один косяк, я понимаю в принципе как работает пример, могу повторить, понимаю что делает каждая строка кода, но блять не могу САМ что нибудь запрогать, шаг в право шаг в лево от учебного примера, и я сливаюсь, ибо хуй его знает как там что реализовывать.
Пасаны, подскажите что за хуйня. пройдет ли с практикой?
Да
>Как сделать, чтобы клавиатуда для UITextField вылезала снизу, поднимая вверх сам текстфилд и то, что над ним?
Только ручками. Размеры клавиатуры есть в нотификейшине.
>Как для UITextField сделать, чтобы он увеличивал количество строк, по мере заполнения контентом? Как в стандартной программе для сообщений.
Тоже ручками.
Прямо сейчас дописываю свой апп для стора, чтобы перекатиться в iOS разработку.
Не вижу проблемы. Пока пишешь - знакомишься с фреймворками эппловыми, это стаж и опыт.
>>478037
Подожди ещё год пока откалибруют язык наконец.
>>478722
Payoneer
>>484761
Xcode поставь, ещё не хватало тебе всё найденное в туториалах на AppCode примерять.
Первый год не вылезать с гугла и стаковерфлоу - норма.
Впрочем и на десятый год это ок когда осваиваешь новую тему.
>>485132
Ненативный UI, мало кто делает на нём (рынок труда узкий).
>Ненативный UI, мало кто делает на нём (рынок труда узкий).
Ну про ненативный интерфейс это понятно, я про то, трудно ли приложение на нем в аппстор пропихнуть? Подводные камни какие?
Говорят, UITextView нужен, а TextField исключительно одну строку имеет. http://stackoverflow.com/questions/10646001/how-to-implement-the-autoresizing-uitextview-vertically
>>485162
>Тоже ручками.
Обожаю таких помогаетелй.
xcode поставил в виртуалке, работает намана. Пацаны, подскажите сколько у вас времени ушло чтоб начать прогать на ios в какой нить фирме с нуля? сам знаком с obj c и xcode около 2 лет, плотно- пол года.
2 недели. Не шучу.
http://rghost.ru/8XwbH6XNW
Почему это говно не запускается?
Да-да, знаю, быдлокод
Два-дня-в-ооп-кун
IBOutlet для твоего CalcBrain не нужнен. IBOutlet — это для интерфейсных хуёвинок, типа лейблов, кнопок, картинок и т.д. Замени это просто на CalcBrain звёздочкаcalcCore. Это если у тебя this class is not key value coding-compliant for the key CalcBrain вылетало.
Дальше — переменную класса CalcBrain ты создаёшь, но сам инстанс класс нигде не создаёшь. в viewDidLoad добавить calcCore = [[CalcBrain alloc] init];
Алсо, полезно сделать enum {SUM, SUBTRACT, MULTIPLY, DIVIDE}, чтобы эти твои if (_actionPressed == SUBTRACT) были понятны, а не сплошные цифры.
https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
Грубо говоря, enum {A, B, C} создаётся константы A = 0, B = 1, C = 2. Читабельнее код получается. Можно написать enum {A=5, B, C}, и будут значнеие 5, 6, 7.
alloc ни разу не писал.
Init если у тебя есть переменные, которые надо инициализировать вместе с классом.
В деаллоке тоже можно отписываться от делегатов/датасорсов, если используются
Нет.
-(id) init
{
if (self = [super init]) {
// задаешь что надо здесь, читай матчасть.
}
return self;
}
2 недели, тоже не шучу.
http://9to5mac.com/2015/05/22/ios-9-os-x-10-11-to-bring-quality-focus-smaller-apps-rootless-security-legacy-iphoneipad-support/
>Apple currently plans to convert its own apps over to Swift in 2016 via iOS 10 and OS X 10.12, unless unforeseen roadblocks emerge over the next year.
Objective-C - Все?
Нет. Либы то все равно на обж-с написаны. чисто для раскрутки короч
В айось приложении нужно получить json-файл из тырнета и обработать его. Как его получать, лол?
В гугле забанен.
Objective C
ублюдок тупой, специально для тебя щас статью написал
http://www.appcoda.com/fetch-parse-json-ios-programming-tutorial/
Приложение, которое эмулирует нажатие кнопки блокировки.
Вопрос про swift.
представим, я объявил функицю
func a() -> (Int->Int) {
func b(bb:Int) -> Int {return bbbb;}
return b;
}
Влт возник вопрос, а можно ли как то вернуть аноимную функцию, чтобы получилось что то вроде:
func a() -> (Int->Int) {
return ((bb:Int) -> Int {return bbbb;});
}
?
Подводные камни что нахуй никому не сдалось тормозящее приложение с ненативным интерфейсом.
Тут тебе не Гягл Пляй, апп с говёным UX никто особо ставить даже не будет.
>>486107
Поддержу анона.
Лезть в Objective, но всё-таки - Си, не почитав даже Big Nerd Ranch - тухлое дело. Да ещё и IB сверху паралелльно учить - я его отдельно несколько месяцев разбирал лол.
>>486609
Ну вот в 2016 и поговорим. А пока переписывать код после каждой минорной версии Swift - ерунда какая-то.
Спасибо, добра и процветания твоему дому, а матери твоей здоровья :3
>Ну вот в 2016 и поговорим. А пока переписывать код после каждой минорной версии Swift - ерунда какая-то.
Вангую, в Xcode 7 по дефолту все templates для аппов будут идти в swift, а obj-c можно будет добавить только через cmd+n, а ведь до выхода xcode 7 меньше полугода осталось.
А пока в 6 свифт работает из рук вон плохо.
ПОдсветка сбивается, краши, НЕВОЗМОЖНО ИМПОРТИРОВАТЬ!111
Короч печально, но язык годный.
Та насрать, поставлю плагин из Алькатраса с нормальными темплейтами.
Пока тут собрались свифтоёбы, расскажите зачем ? и ! переменным? Не очень понимаю практическое применение.
thing?.doStuff() я так понимаю заменяет if (thing != nil) doStuff()?
1
var t : String? // nil по умолчанию
Вот у тебя t может быть в том числе и nil.
Использовать ее можно вот так:
var h : String = t! // так ты говришь что уверен, что t != nil
либо
if let _t = t { var h = _t } //optional binding
2
var t : String! // nil по умолчанию
Вот у тебя t может быть в том числе и nil.
Но ее можно использовать вот прям так
var h : String = t
Но если она будет nil в рантайме, то ты сам себе злой буратино. Сам просил компилятор не обращать внимания, лучше тогда
if t!= nil {var h : String = t}
пруфы пикрел.
Ясно. А в чём выгода вообще?
Я бы продолжал использовать обычную строку (и иногда ! для нулевой) и !=nil проверку. Не люблю Perl-like криптические символы.
Упускаю что-то?
Ну используя :Type? нотацию компилятор тебя уберегает от runtime ошибок типа обращения к nil.
То есть заставляет явно указывать ему, что ты уверен, что объект не nil, либо использовать optional binding.
Ну а
>и иногда ! для нулевой
как раз для любителей !=nil проверок, потому что в первом случае без ! нельзя написать даже после проверки, только в opt. binding.
objective-c сегодня официально - все.
Так победим!
Чую когда осенью выйдет Xcode 7 там уже будет swift 3.0
>Source code will include the Swift compiler and standard library.
Нет, sdk айос под линукс тебе никто не выложит
Консольные программки можно будет делать не более. Может в GNUStep прикрутят свифт к appkit, но это будет не скоро.
> objective-c сегодня официально - все.
Вялый вброс, повтори через год для актуальности.
Пошёл дальше стругать апп на Obj-C.
Но объективно смотря, swift куда как лучше и эппл уже сама переводит built-in apps на него.
Так что доминация свифта это не более, чем вопрос времени.
ios sdk тупо ручками копируешь из гейоси и готово. Вот тут один васян немного автоматизировал процесс - http://www.pmbaty.com/iosbuildenv/
айтюнс может, под линуксом libimobiledevice может.
Но это только для джейла, тогда theOS http://www.iphonedevwiki.net/index.php/Theos/Setup уже сто лет есть и под винду и под линукс, но в аппстор такие программы не примут, а по твоей ссылке какой-то лохотронщик:
>How much is it?
>Activating the toolchain (to be able to create signed apps and use it on non-jailbroken devices) is US$ 45. This floats around € 39.99 at the moment.
>Optional subscription to the SVN repository to get the toolchain's source code is US$ 3800, then US$ 760 / year for renewal.
>Payment is done through Paypal so you don't need to worry about exchange rates. Bank transfer is also possible — contact me.
Нет, не только для джейла. Айтюнс устанавливает ipa без джейла, главное чтоб он был правильно подписан. В комплекте есть все необходимое, чтобы подписывать полученным у эпла сертификатом. Там и демо-версия бесплатная есть, никаких лохотронов. Ну и кроме того я уже сказал, все что сделал этот васян - можно сделать и самому, просто собрать в кучку все то, что эпл выдает, где-то собрать под винду/линукс, где-то скрипт написать, и т.д.
> Айтюнс устанавливает ipa без джейла, главное чтоб он был правильно подписан.
Айтюнс подпись не проверяет, это девайс ее чекает.
А лохотрон это потому что:
Во-первых ты можешь просто поставить мак ОС на виртуалку и пользовать Xcode, абсолютно бесплатно и без сборок от васаня,
во-вторых перепродажа сертификатов эппл может послужить причиной бана этого сертификата и все твои программы подписанные им перестанут запускаться.
И опять же, чтобы залить программу в аппстор тебе нужен аккаунт разработчика, а васян тебе его не даст.
Что за хуйню я читаю, какие перепродажи сертификатов, ты что там делаешь, ебанутый?
Идешь на сайт эпла и покупаешь у эпла сертификаты, виртуалка с макосью тоже нужна, оттуда надо скопировать сдк. Конечный ipa, собранный в венде, ничем не отличается от собранного в макоси, он и собран и подписан инструментами эпла, пересобранными под венду, блеать, долбоеб
Нормальных учебников нет, можешь начать с Aaron Hillegass. Objective-C Programming: The Big Nerd Ranch Guide - там (вроде) совсем с нуля, начиная с того что треть книги посвящена С. После нее читаешь iOS 7 Programming Cookbook: Vandad Nahavandipoor - там уже подробно рассматриваются стандартные фрейморки, работа с видами и т.п. Можешь еще время от времени просматривать Matt Galloway Effective Objective-C 2.0 - особо спешить с ней не стоит, там рассматрвиаются разные нюансы, сначала подучи сам язык. Потом еще может по кордате что-то читнуть, но того что во второй книге для начала хватит.
Большое спасибо. А есть какие-то сайты/программы/видео для изучающих/использующих Objective-C? От комьюнити до каналов на ютюбе, чтобы этим как-то разбавлять содержимое учебников.
Какая-то херота устаревшая. Купи/своруй iOS Apprentice, ее хоть регулярно обновляют.
Да полно, гугли. Забыл еще в iTunes должны быть стенфордские лекции по программированию для iOS, правда новые там уже под свифт, а старые не знаю можно найти или нет. По блогам есть http://www.raywenderlich.com/ там тот же Мет Галловей, там куча инфы по темам разного уровня, есть http://nshipster.com/ - там статьи посвящены разного рода нюансам, но в принципе начальный уровень.
Если у тебя есть аккаунт разработчика, то ты можешь собрать и подписать любую программу(даже взломанную из AppStore для джейла), поставить ее на свои девайсы через виртуалку Mac OS X без васяновских программ за $45.
Нафига тебе этот лохотронщик?
брейкпойнт то в потоке и создается стринг в 1 потоке, да и потоков в вызове нет. вот.
Значит возможно исходник и бинарник различаются по версиям, и на самом деле этих строк нет, clean сделай в общем.
Ты кокой-то ебанутый, мамка насосала на 99 баксов, а еще 45 давать отказывается? Речь шла о том, возможно ли под виндой-линуксом писать под айос, я показал - да, возможно, сам использую и задонатил васяну за это. Да, у меня и макось есть, но иногда нужно в венде. Платить васяну необязательно тоже, мне просто было лень самому разбираться и все нужное барахло компилировать и искать все разбросанные эплом куски, васян для меня все подготовил. Проблемы?
Тебе было лень подписать программу под виртуалкой и ты донатил лохотронщику-васяну?
У меня не всегда есть возможность достучаться до виртуалки с гейосью, зато всегда могу поковырять код, подписать и поставить приложение себе на телефон, за что и заплатил, для своего удобства. Где тут лохотрон? По твоей логике apple development program - это тоже лохотрон? Или у тебя все лохотрон, на что мамка денег не дает?
Поддвачну про лохотрон. Пока что мамка денег разве что тебе на мак не дала.
Сайт выглядищий как говно берёт денег с лохов за ненужный функционал.
Причём каких денег.
>Optional subscription to the SVN repository to get the toolchain's source code is US$ 3800, then US$ 760 / year for renewal.
Жесть, $3800 за что? Ещё и с подпиской за $760 в год. За эти деньги можно небольшу ферму из Mac Mini Server собрать.
спасибо
С уроков выпустили? Ну давай, пока мамка не отправила спать, расскажешь почему apple developer program - лохотрон
> С уроков
> 15 июня
При чём тут Apple dev program?
Я говорил про
http://www.pmbaty.com/iosbuildenv/
> Optional subscription to the SVN repository to get the toolchain's source code is US$ 3800, then US$ 760 / year for renewal.
> $3800
> $760 в год
> лохотрон
Ты даже не можешь понять о чём речь, но вскукареки уже идут вовсю.
И что, кто-то это купил? Нет же. Я купил бинарники за 1200р и вован исправно мне шлет обновления. А это он уже загнался конечно, никому в хуй его исходники не упали, тем более эпл сама осенью под винду и линукс собирать будет.
> Я купил бинарники за 1200р
За сколько-сколько? :-DDDDDDD
Но вообще суть разрабатывающих под iOS на сперме/красноглазии понятна. Заплатить кому-то денег чтобы не покидать зону комфорта, поверещать в треде про школьников и жить курсом рубля из 2005 (или не уметь умножать - выбирай).
Представляю ваши знания app guidelines.
... или купить не вчера, а два года назад, мань? Ты вообще что доказать-то хочешь?
2. Для того чтобы открыть второе окно (detailview) по клику ячейки в tableview, в storyboard перетягиваем на нужное окно переход(я хз как оно все называется, полтора для в иос). Так вот, как при клике на первый элемент tableview переходить на одно окно, при клике на другие ячейки - в другое окно?
Переход называется segue, если он делается в storyboard. Обрабатывается в prepareOnSegue. Если программно, то didSelectRowForIndexPath. В обоих случаях там будет indexPath, в котором хранится твой номер ячейки.
> костыли с лохотроном
Окей, значит осенью эпл выложит костыли с лохотроном? Мань, ты кажись вообще потерялась
А нет альтернативы, просто у него горит от того, что кому-то его сраный interface builder в котором надо "перетаскивать переходы" в хуй не упал, и он может свободно писать код вручную без него и даже без мака.
То есть embed container view ты не используешь? И storyboards конечно же "я набил в одну 50 контроллеров и что-то тормозит!"
>>497716
Что Apple выложит?
>>497722
> просто у него горит от того, что кому-то его сраный interface builder
Не проецируй, я опять же просто лолирую с чуваков которые UI расставляют кодом в 2015.
На одинаковом промежутке времени я тупо сделаю втрое больше пока ты будешь ковырять boilerplate свой.
> свободно писать код вручную без него и даже без мака.
Можешь сразу на перфокартах писать. Специальная олимпиада добралась и до эппловой разработки, я погляжу.
Здравствуйте, друзья. Ищу человека, который сможет написать под iOS простенькую программу для кафе без публикации в AppStore Функция проста: считать время и день для каждого клиента с учётом стоимости часа. Кто возьмётся?
Я не знаю, что по деньгам. Сколько, примерно, может стоит такое приложение?
>И более подробное ТЗ?
Приходит клиент, бармен жмёт на кнопку "добавить клиента", пишет имя и нажимает "ок", программа считает время с учётом стоимости часа (50 рублей), в конце приходит клиент, бармен жмёт кнопку "результат" и видит сумму, которую должен взять с клиента. Всё.
Лучше 60 рублей час делай, а то будет дохуя копеек на сдачу выходить.
Без публикации в аппстор надо будет платить по $100 в год для поддержки профилей разработчика (для установки на девайсы) или вообще заводить enterprise программу.
Тот самый случай когда проще сделать на Андроид или десктоп.
Может у него джейл.
Сделаю за 30к. Передам готовый проект, покажу как работает на симуляторе/устройстве.
Заливка на устройство отдельно. Поддержка отдельно. Устраивает?
> embed container view
Ты блять о чем вообще? let navigationController = UINavigationController(rootViewController: rootController) ? Тебе действительно проще возюкать мышкой в тормозящем и глючащем IB, вместо написания одной строки?
> я набил в одну 50 контроллеров и что-то тормозит
Именно! Там шаг влево-вправо и оно тормозит и глючит, надо знать кучу граблей и способы их обхода. А можно просто - не использовать. Это инструмент для по-быстрому накидать прототип интерфейса, макаке, не умеющей программировать, никак не для программиста.
> UI расставляют кодом
Нету пока для iOS такого инструмента, которым можно описать UI не трогая код. Вот блять даже для 1С есть, а айос - в каменном веке. Давай, скажи куда нажать в IB, чтоб UICollectionViewLayout был в один столбец, как UITableView?
> boilerplate свой
Чувак, ты опять употребляешь слова, смысл которых не понимаешь, ни лохотрон, ни бойлерплейт не означают то, что тебе мамка запрещает использовать.
> Специальная олимпиада добралась
Специальная олимпиада добралась до разработки тогда, когда джобсу ебнуло в голову придумать Interface Builder, и погромисты мышкой возомнили себя специалистами.
> autism intensifies
Ок, ок.
Посмотрим как такого специалиста как ты пустят на порог в любую нормальную компанию. Без опыта IB и Storyboards во времена iOS 9 и size classes ололо.
Лан, пайду у мамки пицу прасить.
Хер его знает, за что >>497855 хочет 30к, но вот я набросал то, что, как я понял, тебе нужно.
http://rghost.net/private/74QKPzYmJ/eaad9820e7afde1343cbd9994ad6486d (видео записывалось через vnc в тысячах миль от компьютера, потому и тормоза какие-то видны, не обращай внимание.)
Формат ячеек, да и весь текст, естественно, на твой вкус сделается.
Не очень понял только насчёт дня. У тебя там кафе или отель? Нужно ли сохранение данных на устройстве (после выключения программы)?
Если функционал устраивает, можно поговорить о более разумной цене и необходимости/способах/границах поддержки/обновления.
Ну, это, конкуренция и все дела. Подумай, за сколько часов ты бы сделал эту программу и какая получилась бы почасовая оплата. Это ты копеечным называешь? Не жирно ли? Как бы, я ведь не за 500 рублей отдам, а раза в 3-4 дешевле твоего, в зависимости от его дополнительных запросов.
1. Засунуть вьюхи в скроллвью и по нотификейшну появления клавы менять высоту скроллвью относительно размера клавы.
2. При изменении текста в текствью делать текствью sizeToFit и сдвигать другие вьюхи относительно. Текстфилд не канает, потому что текстфилд может быть только однострочным.
Изменения должны вносится в модель. Предыдущий контроллер должен обновить себя из модели.
fish.spd@gmail.com
>obj-c
Опоздал на пару лет, с осени оно умрет окончательно, после выхода swift 2.0, OS X 10.11 и iOS 9.
И ещё через пару лет умрёт ну совсем уж окончательно. Лет ещё через пять доперепишут cocoa и тогда помрет. Потом несколько лет будут ещё ебать легаси, а потом помрет.
Может и тупой вопрос, но все же, теперь вообще нет смысла учиться обж-ц ? Есть резон только от свифта ? Начал учить обж пол года назад, походу зря.
Посоны, поясните, о чём вообще речь у этих двух идёт? В чём такое громадное отличие свифта от obj-c, что прям "зря учил"? Ведь на уровне не-гуру это всего лишь разный синтаксис, почти вся документация по иос сделана сразу на двух языках, т.е. зная, как что-то сделать на obj-c, ты очень быстро это можешь перевести на свифт, просто поменяв синтаксис. Разве основная часть навыка программирования не заключается в знании всех нужных библиотек/api и умения создавать/использовать хорошие алгоритмы?
В чём я неправ? Я понимаю, если бы эппл ебанулся и на жаву перешёл, там своя философия и всё такое, но ведь свифт и obj-c родственны друг другу?
> походу зря
Если собираешся искать роботу то не зря. Это увеличит количество вакансий. Если для себя, то скорее всего можно уже и одним свифтом обойтись.
Это просто паника из-за неопределенности. Все заебись продолжу свой обж дальше.
http://9to5mac.com/2015/06/10/xcode-7-allows-anyone-to-download-build-and-sideload-ios-apps-for-free/
Толсто. Только через год можно будет говорить подобное.
Похоже, что не подавлюсь — не так уж и сильно ему нужно было приложение, видимо.
Referencing outlet привязан к notesField.
В @synthesize они присваивают notesField пустой notesField_.
Или я чего то не понял?
>@synthesize они присваивают notesField пустой notesField_
Нет. У тебя есть проперти notesField. Проперти это два метода - сеттер и геттер (возможно ты путаешь проперти с переменными класса, так как они похожи по использованию - но проперти это именно методы) которые могут использоватся для запоминания и получения указателя на объект типа UITextField. Чтобы хранить этот указатель тебе нужна переменная класса, и вот @synthesize создает эту переменную с именем notesField_ (сейчас так не нужно делать, компилятор сам сгенерирует, @synthesize нужно использовать если тебе нужно не стандартное имя переменной, которое по умолчанию это имя проперти с подчеркиванием).
> это имя проперти с подчеркиванием
Чето я всрался немного, по договоренности в автоматически генерируемых переменных подчеркивание впереди, а не так как в твоей книге после имени проперти для которого переменна генерится.
Можно сделать просто @synthesize notesField
и юзать его в своих методах, или _notesField= notesField обязательно?
В @synthesize notesField сейчас вообще нет смысла. Просто нихуя не пишешь и все. Если у тебя не какой-то там древний sdk. Если по каким-то причинам нужно чтобы у переменной которая создатся для проперти было какое-то другое имя, тогда используешь что-то типа @synthesize notesField = _notesField
>после имени проперти
Мне кажется они это сделали специально, чтобы потом детектить уебков, которые учились по их книге.
Вы подзаебали толстить или тупить уже не меньше хоронящих Ruby.
>>498715
Нет не зря. Свифту до взросления ещё год-полтора, легаси всякого на 10 лет.
>>498751
Да похуй вообще на язык. Вы пока UIKit и Core Foundation осилите уверенно - пройдёт втрое больше времени чем выучить оба.
>>498869
Оно там без провода-то работает?
Сколько стоит сейчас доступ в апстор, какие проценты?
>Да похуй вообще на язык. Вы пока UIKit и Core Foundation осилите уверенно - пройдёт втрое больше времени чем выучить оба.
Ну да, я это и хотел сказать.
core foundation нахуя осваивать?
Запилите мануал литературы/ресурсов которая помогла вам вкатится и вообще мастрид по сабжу.Приоритет естественно книг на русском.
На данный момент прочитал 2 книги:
"Become an Xcoder"
"Big nerd and ranch - objective-C"
И прорешал с них скудные примеры но на выходе я не имею нихуя, я вот не способен сейчас и не обладаю ни навыком ни знанием, чтобы попытаться что-то написать сложнее всратого консольного приложения не говоря уже о влажных фантазиях позиции джуна.
Сейчас я вот наткнулся на серию видео уроков vk.КОМ/videos-58860049?section=album_53912340
и планирую пройти их ( там львиная доля повторения того материала, что я уже прочел но я все равно дико не уверено себя ощущаю и не могу написать что-то сам без перепиливания под какую-то задачу готового листинга)[единственный профит - с икскодом не много освоился и не много ориентируюсь в нем) и значит планирую напросится на стажировку 3 мес. в одну IT компанию нашего города, они пишут мол принимают на конкурсной основе.Какой бы такой проект-задание можно написать и показать для моего уровня?
Пробовал даже как-то ходить по собеседованиям везде давали в стиле копипастерскиъ анкет HR-ов практически одинаковое тестовое задание примерно следующего содержания с не большими вариациями от компании к компании:
Создать приложение,которое имеет клиентский и администраторский вид.
В части клиента: есть некий список из товаров, где каждый товар содержит инфу о себе:наименование стоимтость количество
И админская часть,где имеется возможность редактировать, обновлять,удалять инфу.
Но нихуя подобного я с прочитанных книг не узнал
двачую
> Но нихуя подобного я с прочитанных книг не узнал
Ох лел, книги знакомят с синтаксисом и основными паттернами написания под конкретную платформу.
Задача программиста - думать головой решения.
автор этих видео уроков ответил мне на этот вопрос:
> такой вопрос хочу тебе задать.Сейчас вот анонсировали Swift 2.0 open source и это обещает быть большим пинком так вот вопрос что-же начинать учить? Не окажется ли, что я вот начну учить obj-c и я казалось бы только только стал тянуть на позицию джуна а потом через пол года все активно начнут мигрировать на Swift и я окажусь не удел и зря потратил время? Каковы твои прогнозы и вообще твой взгляд на этот вопрос как человека разбирающегося в этом рынке? Как будут обстоять дела с трудоустройством, что будет более востребовано?
Можешь даже опубликовать ответ, я думаю, не один я им интересуюсь и может тебе уже кто-то досаждал им.
Следующее:
>da, na dannyi moment obj-c bolee vostrebovan, kak budet dal'she - ne znau, no vryadli udastsya naiti rabotu 4isto na swifte, tak 4to nado budet znat' i to i to
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
>Objective-C is really going into freefall. The last couple of months it is losing about 1% of market share per month. If this trend continues, Objective-C will leave the TIOBE index top 20 before the end of this year.
>The main cause of this is Apple's announcement last year to replace Objective-C by its new programming language Swift.
>The programming community embraced Swift because it fits the bill much better.
>Apart from this, there is also a trend to use C++ more frequently to program the lower layers of an iOS application.
Впрочем ничего удивительного, что к концу года obj-c отправится на помойку.
Что ты нам-то лечишь? Иди и свифтуй раз такой прозорливый. А дебиловатые слоупоки продолжат писать на умирающем языке.
http://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw
Вот канал, в котором в качестве примера делаются реальные простенькие приложения на разные темы. Хуйня конечно, но может быть чем-то поможет. Там должно быть, что-то подобное твоему заданию.
>Приоритет естественно книг на русском.
Нахуй иди. Другой язык выучи сначала тогда, а потом приходи.
Да, да и доллар к новому году 100руб. будет.Какие еще ахуительные прогнозы запостишь?
А весь массив контента, который щас на обж-с который на поддержку останется?
На данный момент я проанализировал предложения по работе по всей России(!) всего 43 предложения по работе со Swift, со смежными с obj-C на что даже делается упор знаниями.В то время предложений по obj-C 338.
С другой стороны apple же не ебанулась там + всякие новые книги и видео лекции университетов выходят уже только по свифту что о чем то да говорит, продвинутый запад там, до нас с задержкой все докатывается.
Так вот, что же делать неофиту, который вообще программирование осваивает как таковое? Идет ли это различие на определенном уровне или уже это совершенно разные вещи на этапе старта?
Спроецируйте ситуацию, кто работает кодерами, вот придет к вам в контору джун, который там не средний джун, не на "без одного шага" мидл а прям совсем начальный и знает он только swift?
Будет ли ему чем занятся? Не будет ли он чувствовать себя бесполезным? Вообще имеет ли жизнь такой сотрудник в штате?
Вот вы тут ругаетесь, смеетесь а я не знаю что делать.Ждать и смотреть как будет развиваться ситуация попутно все же делая ставку на swift но уже прибавив месяца 4 к отсрочке маня-влажной работе джуном и оставаться соответственно на своей текущей работе еще дольше?
Если ты нуб, то ты вообще в свифт не сможешь. Даже не говоря о самом языке, икскод очень хуево работает со свифтом, сильно тормозит, крашится, выдает неправильные описания ошибок, делает неправильную автоподстановку и т.д. и т.п. Но некоторые заказчики платят за разработку именно на свифте больше. Потому что ОЛОЛО СВИФТ.
>Так вот, что же делать неофиту, который вообще программирование осваивает как таковое? Идет ли это различие на определенном уровне или уже это совершенно разные вещи на этапе старта?
Обжектив учи. По сути это одинаковые вещи, но в свифте пишешь чуть меньше кода.
>вот придет к вам в контору джун, который там не средний джун, не на "без одного шага" мидл а прям совсем начальный и знает он только swift?
Если джун это значит, что он нихуя не знает в любом случае. Но вообще было бы заебись, если б пришел.
Ещё раз: Objective-C от Swift отличается синтаксисом, динамической типизацией и парой фич. В Obj-C уже даже generics закинули на днях.
Переход между ООП языками вообще довольно лёгкий, а между этими - почти незаметный, т.к. они на одних фреймворках едут.
Вообще то что "языки сложно учить" - джунская иллюзия. Вкатывайся в Obj-C, а Swift ты выучишь автоматически, т.к. все новые примеры кода идут на нём.
Причем тут доллар? Эппл приняла решение похоронить objective-c и к концу года он будет похоронен в независимости от желания кучки консерваторов, которые не хотят принимать все новое и современное.
Спешите видеть! CTO Apple постит инсайды в /pr!
Именно по причине похорон Objective-C свежевыложенный https://github.com/ResearchKit на нём написан целиком! Не опоздайте на похороны, дамы и господа!
Ага, или в iOS X Apple просто убирает поддержку obj-c и говорит писать только на Swift. Они вон с осени в App Store будут пускать только 64-битные приложения и это про официальной поддержке iPhone 4s и 5.
Ну просто перекат на айос у меня нисколько не занял. Сразу начал делать приложение, а по вечерам книжку читал. Относительно комфортно себя чувствовать стал где-то через 3 месяца. Но я не с андроида перекатывался.
Просто как я понял работа с интерфейсом в айос очень простая и приятная в отличие от андроида, но вот как обстоят дела с многопоточностью, обработкой в фоне и т.п.
Лучше чем в андройде явно. GDC, блоки.
ObjC охуенен. Apple его хоронит.
Ну потому что мне с опытом почти 5 лет iOS разработки совершенно насрать Obj-C или Swift.
Я не могу в данный момент писать на Swift, не было надобности, но в случае потребности в нём - уверенно начну за неделю. Структура та же, библиотеки те же, а выучить новый синтаксис это вообще не проблема для человека с опытом.
>>500720
По сравению с андроидом - простая и приятная. По сравнению со здравым смыслом - местами сильно упоротая.
>>500723
Уж получше плюсов будет, хотя до шарпа конечно не дотягивает.
Я когда начинал, мне очень помог этот парнишка — http://www.youtube.com/user/acasualprogrammer/videos (iOS Development Tutorial), 10 видео там.
Всё легко, быстро и понятно. А главное — на примерах.
Собственно есть одно приложение, каждый раз нужно заходить с другого акка. Что то палит меня, и лочит акк.
Менял соксы/прокси не помогает. Переустановка тоже не помогает.
Писал в Моби, никто не ответил.
Попробуй рекламное отслеживание в настройках iOS отключить.
Ещё может быть GameCenter. Раньше ещё был UDID но нынче его запретили добывать. Поищи по запросу типа "how to identify user ios".
Где приложение? На телефоне? Почему решил что привязка именно к железу? Может оно хранит список забаненых акков на удаленном сервере (пробывал с отключенным инетом?) или локально в кейчайне (при переустановке записи вроде не удаляются, хотя я не уверен).
Ну ебаный стыд это же гейось а не щиндовс (тут мне бы еще вирусов напихали бы вместе с хуями.
Это вообще законно?тут,конечно шутка но блять, что это за ебаная дыра такая, что позволяет такие хуевины на сайты внедрять? Как сама Эпл к этой хуйне относится?Им типа похуй? Или даже какую-то либу эпловскую для этого используют?Ведь это же из хваленого качества и простоты техники эпл превращает серфинг просто в ебаный ад.Я блядь даже на винде с такими настойчивыми баннерами не сталкивался.Можно это как-то пофиксить? Может даже какими-то средствами джейла если знаете твик напишите но все равно как в таком случае жить пользователям, которые юзают Ios устройства "из коробки" как эпл и пропагандирует их использовать ведь это же нихуево подрывает их слова и аннулирует их авторитет.
На сервер отправляет deviceUUID:
[[[UIDevice currentDevice] identifierForVendor] UUIDString];
Его не поменяешь.
>Или даже какую-то либу эпловскую для этого используют?
Простая ссылка на приложение в айтюнсе и сафари уже с радостью запускает для нее аппстор
Вот, например попробуй открой со своего iдевайса:
https://itunes.apple.com/us/app/sqor-sports/id700913088
Упс.
Правильно ли делать так:
1. Создать 2 массива: NSArray data и NSMutableArray toDisplay, при старте приравнять их друг к другу.
2. Показать таблицу с элементами, взятыми из toDisplay.
2. Пользователь нажимает кнопочку, вводит "foo".
3. Программа обнуляет массив toDisplay, находит все элементы массива data с "foo" в имени, добавляет их в toDisplay.
4. Вызывается [self.tableView reloadData]
Как при этом потом правильно соотносить элементы из обрезанного toDisplay с элементами из data, если со строкой были сделаны какие-то действия?
Так как ты написал наверное проще всего. В чем проблема соотносить? У тебя же в обоих массивах указатели на одни и теже объекты.
>Так как ты написал наверное проще всего.
А по-другому-то как-то вообще можно? А то погуглил 5 минут, и только так — через два массива — все и делают.
>У тебя же в обоих массивах указатели на одни и теже объекты.
Да, при изменении внутри объекта, наверное, проблем нет. Просто мне пока нужно было только удалять строки, и пришлось делать так:
[data removeObject:[toDisplay objectAtIndex:selectedRow]] (selectedRow в didSelectRowAtIndexPath устанавливается, естественно)
>>504243
Вопрос был не о том, как найти нужные элементы в массиве.
И вообще там сортировка, лол. Ты не промахнулся, случайно?
Ну я тип это, просто узнать, может где чего не так делал, ведь сам до этого всего доходил. Бест практисес и всё такое. Спасибо.
Просто много народу все еще кодят на Objective-C и у меня возник вопрос, почему
> почему
Потому что могут. Распространено мнение что свифт все еще хуевей и пока лучше не переходить. У свифта же никаких особых киллер фич нету, просто он удобней. А тому кто уже привык к обжективу это не особо довод. Со временем ественно перейдут. У свифта другая архитектура, нет динамической дисперичизации сообщений (хотя можно прикрутить), в теории он должен быть быстрее, но пока это не заметно.
То есть никаких плюсов кроме синтаксиса в свифте нет?
А еще какие плюсы у obj C? алсо, что советуешь почитать и с чего лучше начинать - свифт или обж с?
Если собираешся искать работу то учи objC, если для себя то можно наверное одним свифтом обойтись. Вообще особого значения нет, что учить. Основная масса знаний это фреймворки которые одинаковы у двух языков. Алсо обжектив крайне примитивный язык, это реально "С с классами" если знаешь С то выучить обжектив можно фактически по одной статье на википедии. Есть конечно нюансы которые могут потребовать ощутимого времени (магия рантайма) но новичку туда нет особого смысла лезть. Преимуществ особых нет, проще прокси сделать, костыли там наебашить типа миксинов, но это все такое, это и в свифте можно при большом желании.
Skype: vittorio_zo1z
Ублюдок мать твою а ну иди сюда говно собачье а? Решил ко мне лезть? Ты засранец вонючий мать твою а ну иди сюда попробуй меня трахнуть я тебя сам трахну ублюдок онанист чертов будь ты проклят иди идиот трахать тебя и всю твою семью говно собачье жлоб вонючий дерьмо сука падла иди сюда мерзавец негодяй гад иди сюда ты говно ЖОПА
1) Хуйнюшка вроде обертки к серверному API, не требующая мозгов, больше запросов чтения, чем записи.
2) Типовые 2Д игры и приложения с гуем средней сложности.
3) 2Д онлайн игры, 3Д игры, приложения с очень жирным гуем (как какой-нибудь мокрософт офис), приложения с активным дерганием периферии на низком уровне.
Ну и скажите, что почитать по продакшну - код-то любой еблан может писать, а даже для п.1 кодеру надо быть в курсе воркфлоу тестирования и деплоя же.
Олсо вопрос - могу ли я залить билд с новыми фичами на телефон(ы) быстро и без регистрации (без анальной модерации эппла), чтобы сразу сесть и потестить? Чтобы проверить на реальном телефоне, а не на эмуляторе? И бывают ли ситуации, когда эмулятор сильно отличается по поведению от телефона?
> бывают ли ситуации, когда эмулятор сильно отличается по поведению от телефона
Бывают в основном это падения (на эмуляторе работает, на телефоне падает). На подключенном к компьютеру устройстве можно тестить без проблем (если заплатил бабло, вроде собираются отменить регистрацию для тестов). На удаленные телефоны можно было раньше заливать без модерации через тестфлайт, сейчас там вроде есть какая-то не жесткая модерация. Естественно на джейлбрейкнутых устройствах можно запускать без всякой ебли.
Спасибо, анончик. Просто я часто работаю с людьми которые убьют меня за билд с падениями. Да и сам люблю, чтобы все работало, а не "через недельку исправим".
Добра тебе, друг
Возможно уже неактуально, но если поставишь бету xcode 7 - сможешь на девайсе тестить без аккаунта разработчика
мимо-веб-фуллстэк
Да.
Нет.
Может быть.
System integrity protection.
В принципе такое возможно, но я хуй знает есть ли свободные библиотеки. Такой хуйней никто не занимается. У разработчиков sdk под iOS естественно есть что-то подобное, но обычным людям такое нинужно.
То есть вручную писать интерфейс по-сути нельзя? Я просто совсем ньюфаг из джавы, и там все прописывал кривыми руками. Пикрелейтед - что я написал для проверки своих догадок о наложении вьюшек. Как таковой он компилируется и все нормально, но видно это только после компиляции.
А откуда тебе хкод узнает, что ты там накалякал до, собственно, компиляции и запуска? И в чём проблема компиляции-то? Разве в джаве ты не запускал каждый раз приложение, когда игрался с интерфейсом так?
Проблемы компиляции нет. Я просто не могу решить скорее морально-этическую проблему. Всю жизнь я писал ручками интерфейс, потому что других методов не было. А щас у меня есть xib и storyboard. И я не могу понять что более перспективно и эффективно.
>>522181 например говорит и в душе я с ним согласен что раз дали доску то ее и использовать.
Прости, неправильно сформулировал. Я имел ввиду, что теоритически писать можно, ибо nib — обычный xml-файл. Однако, проблема в том, что, во первых нет официальной документации и вся твоя самодеятельность может сломаться в любой момент, а во вторых, писать ручками заебешься из-за того, что этот xml явно не для нормальных людей.
Более перспективно nib/storyboard(лично я больше сториборды люблю), эффективность придет с опытом.
522181-кун
А к сториборду можно дописывать вручную? Я не совсем понимаю одну вещь. Пускай у меня есть viewController на сториборде, и мне на него надо поместить красный квадрат. Я могу руками написать что вот к такому-то вью нужно обавить сабвью? Или это все равно нужно делать на сториборде? Если да, то я пока способа не нашел...
Можно, тебе нужно найти нужный viewController - начинай с rootViewController аппделегата и спускайся вниз пока ненайдешь. Дальше можешь с ним работать как с обычным, и даже настраивать вручную если нужно.
Сделать можно двумя способами: из кода и из IB.
Из кода: точно так же как в >>522157.
Из IB: открыть object library(хуйня на пике), выбрать нужный компонент и перетащить его на твою вьюшку. См. https://developer.apple.com/library/ios/recipes/xcode_help-IB_objects_media/Chapters/Chapters/AddingObject.html#//apple_ref/doc/uid/TP40014224-CH11-SW1 или какой-нибудь другой туториал.
Связать объекты из IB с кодом можно через IBOutlet/IBAction/IBOutletCollection(должно быть в эпловском гайде выше).
Дополнительная инфа про IBOutlet и ко — http://nshipster.com/ibaction-iboutlet-iboutletcollection/
Эпловская справка по IB — https://developer.apple.com/library/ios/recipes/xcode_help-interface_builder/_index.html
Эпловский гайд по IB — https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/DesigningaUserInterface.html
> Эпловский гайд по IB — https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/DesigningaUserInterface.html
Ссылка должна быть на https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/FirstTutorial.html#//apple_ref/doc/uid/TP40011343-CH3-SW1 смотреть с секции "Open Your Storyboard".
быстрофикс
Я вот тут читай гуйды, говорят что нужно иметь аймак, яблочное устройство под которое пишешь, и платить ололосто баков в месяц за возможность плевать свои труды в апстор. Оно точно того стоит, или лучше ведро? Ну реально, очень тяжело влиться, хотя ведро я не очень люблю.
лол
когда я вливался у меня даже не стояло таких сомнений. платил бабки (один раз в год а не ежемесячно) ради того чтобы портфолио пополнять. девайсы все были куплены. я был яблодрочером.
У меня нету яблокомпа. Всегда как-то игнорил его существование.
Народ, а объясните, в чем преимущества и недостатки макового компа над писишным с тем же железом. Классный дизайн и нескучные обои идут нахуй.
Никаких преимуществ одни недостатки. Ну кроме возможности разрабатывать под iOS без лишней ебли.
Любой десктопный мак = большой айпад, умеющий разве что запускать открытые при выключении программки (кроме мусорки за 300 к).
И да еще про "обычное железо" - для комфортной работы там где винде нужно 4 гб оперативки, маку нужно 16. Если
смотришь в сторону какого нить там миника - бери мажорную версию как минимум.
>>522915
кукаретикен детектед?
Мой 7-летний макбук с 4гб и коре2дуо работает чуть ли не лучше рабочего HP 640G1. Конечно, там шифрование диска и прочее корпоративное говно, но одно только время выхода из слипа уже заставляет плакать.
А вы зайдите в тред каких-нибудь питонов и посмотрите на страдания виндоюзеров — это же просто смешно.
В маке есть много мелочей, которые как бы "нинужны", а привыкнув к ним понимаешь, что люди действительно думали над интерфейсом и эргономичностью (открытие_крышки_одной_рукой.ави).
В общем, точка зрения "мак - это ифон, в нём ничего нет и всё плохое работает и вообще для гламурных кис" — признак дауна. Да, есть минусы, я и сам боюсь, что они как-то объединят айос и осх, как уже частично сделали из нового макбука (не про) некое подобие планшета с клавиатурой, но не так всё плохо, далеко не так.
Я тебе про горячее, ты мне про холодное даун. Я писал о ЗАМЕНАХ НАСТОЛЬНОГО ПЕКА В ВИДЕ МАКА, и использование для разработки сих изделий. Ты мне блядь дичь про питон втираешь и про аптайм твоего дерьма, серьезно. Я не говорил что их ноутбуки в сравнении с конкурентами говно, ибо они реально хороши. Я говорю про дерьмище в виде миников и, боже упаси, аймаков стоимостью пк с топовой конфигурацией и железом на котором фотошоп лагает.
Про 4 гб - пиздаболия. Не, написать отчет и посмотреть кинцо хватит конечно. Но при запуске икскода начинаются лаги, при начале симулирования девайса даже не ретины начинается пиздос с ака слайдшоу файла подкачки или что там на маке. Грейд до 8 гб помогает держать еще открытым браузер, да. Покупал прошлым летом минорный миник (судя по текущим хар-кам миников на сайте эпла он как текущая мидл версия) меня тогда заверяли такие же как ты что его хватит на все про все, и спокойно я с ним въеду в коденг.
Про нужные фишки - я до сих пор горю что нельзя открыть сразу все файлы выделением и энтером не, иногда конеш открываются сразу все в РАЗНЫХ окнах, спс. Еще что нельзя открыть одно фото и листать остальные (либо тыкай по 1, либо открывай 700 окон. айфото - дерьмо, которое не работает на 4 гб оперативки, нахуй такие удобства
>Я тебе про горячее, ты мне про холодное даун.
А я и не тебе отвечал, так-то.
макмини — это не компьютер, это коробочка для управления телевизором, звуковой системой и принтером.
Т.е. замена настолько пека на макмини — это совсем не равнозначная замена.
выделяешь всё, cmd-o, и все твои фоточки открываются в одном окне превью. Не знаю, как ты умудряешься их все в разных окнах открывать.
>и использование для разработки сих изделий.
Ну так только на ОSХ ты их и можешь разрабатывать, в чём вообще вопрос? Если хочешь, делай хакинтош, работать будет так же.
>Ты мне блядь дичь про питон втираешь и про аптайм твоего дерьма
Если ты взялся кодить на ифон, велика вероятность, что ты параллельно занимаешься ещё чем-то, какую-нибудь скриптохуйню написать захочешь или сервак на питоне или жс поднять для работы со своим приложением. А на винде в казалось бы дефолтный питоновский асинкио через жопу ставится, например, с необходимостью с-компиляторы устанавливать и красноглазить.
Так что оно всё связано.
Ну что ты пиздишь, а? Есть новый мбп, есть старый мамкин с 4 гб. В обычной работе (интернут посомтреть - почту проверить - фильмы посомтреть) работают почти идентично. Програмить конечно комфортнее на моем. Но так как ты говоришь о "ЗАМЕНАХ НАСТОЛЬНОГО ПЕКА В ВИДЕ МАКА", то это зависит от твоих целей. Откуда мы знаем, ты там сервер на линухе поднимаешь, в игори играешь или кодишь? Ты б хоть цели то писал, а?
мимокрокодил
Единственное преимущество среди моноблоков есть у iMac 5K - охуеннейший дисплей, ощущение от работы просто космические, когда экран можно поставить дальше вытянутой руки и при этом видеть контрастную и четкую картинку, подогнать скейлинг на любой вкус.
в остальном же, мак мини для работы более чем хватит. Сам на пикрелейтед работаю полтора года. Для браузера с десятком вкладок, твиттера , айтюнса и xcode хватает вполне, но хочется конечно помощнее, ОСь все больше и больше тормозить начинает с каждым релизом.
Ты пиздец тупой, перечитай мое сообщение плиз. Я писал сразу что посмотреть кинцо - ок, разрабатывать - не ок (логично что говоря про разработку в этом треде я имею ввиду iOS).
>>523079
Ты рассуждаешь о том, чего у тебя нет рофл. Я писал про оперативку - у тебя изначально 8 гб, ты видимо не разу не видел чудес свапов при запуске эмулятора. Хотя и после апа до 8 её забивать сложнее не становится, на ладно.
>>523071
Преимущество аймака - хороший экран для просмотра кинца, ок лан. Только смысл о нем рассуждать в разделе про разработку непонятен.
Вы, Илюши, забыли изначальный вопрос - в чем плюсы и минусы по сравнению с пека на винде/линуксе/прочей еботе. Изначально сказано - нескучные обои и дизайн идут нахуй, качество экрана имхо тоже не слишком важно чтобы писать код. Из преимуществ пока что отмечены открытие одной рукой и какие-то плюхи системы. Давайте писать по теме а не хуесосить друг дружку няши (нет).
Из недостатков - оверпрайс.
Вопрос такой возник: как добавить (или как называется) кнопку-стрелку (направлением вниз) рядом с тайтлом контроллера?
Как то так, как на скрине. Еще желательно как сделать это программно.
Уже ответили по теме: полноценный x-code с ios sdk только на os x. Либо мак, либо хакинтош. С одинаковым железом, разумеется, и мак, и хакинтош будут работать одинаково. Что ты ещё услышать-то, хочешь? Нельзя на линуксе разрабатывать. Разве что вслепую в блокнотике писать код а потом у друга на маке компилить. (да, obj-c компиляторы есть, но всяких CoreFoundation-то там нет).
Поправьте, если не прав, но, вроде, так обстоят дела.
>ты видимо не разу не видел чудес свапов при запуске эмулятора
Не знаю, как сейчас, но некоторое время назад мак славился чересчур ранним привлечением свап-файлов, даже если ещё прилично оперативки есть. Нахуй оно так и исправили ли (инфе по крайней мере лет 5) — не знаю.
Разумеется, 4гб это оче мало, но я в том посте (>>522928) говорил не сктолько конкретно о разработке, а в принципе об отклике системы. На упомянутом hp, кстати, тоже 4гб, оказывается.
я делал это так: у навбара есть атрибут titleView. ему присваиваешь кастомную вьюху, в которой расположены UIButton и UIImageView. при нажатии на кнопку картинка со стрелочкой переворачивается примерно вот так: [code]CABasicAnimation *openRotationAnimation;
\topenRotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
\topenRotationAnimation.fromValue = 0;
\topenRotationAnimation.toValue = [NSNumber numberWithFloat:M_PI];
\topenRotationAnimation.duration = 0.15f;
\topenRotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
\t[openRotationAnimation setRemovedOnCompletion:NO];
\t[openRotationAnimation setFillMode:kCAFillModeForwards];
\t[_categoriesArrow.layer addAnimation:openRotationAnimation forKey:@"openRotationAnimation"];[/code]
\topenRotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
\topenRotationAnimation.fromValue = 0;
\topenRotationAnimation.toValue = [NSNumber numberWithFloat:M_PI];
\topenRotationAnimation.duration = 0.15f;
\topenRotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
\t[openRotationAnimation setRemovedOnCompletion:NO];
\t[openRotationAnimation setFillMode:kCAFillModeForwards];
\t[_categoriesArrow.layer addAnimation:openRotationAnimation forKey:@"openRotationAnimation"];`
\tCABasicAnimation *closeRotationAnimation;
\tcloseRotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
\tcloseRotationAnimation.fromValue = [NSNumber numberWithFloat:M_PI];
\tcloseRotationAnimation.toValue = 0;
\tcloseRotationAnimation.duration = 0.15f;
\tcloseRotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
\t[closeRotationAnimation setRemovedOnCompletion:NO];
\t[closeRotationAnimation setFillMode:kCAFillModeForwards];
\t[_categoriesArrow.layer addAnimation:closeRotationAnimation forKey:@"closeRotationAnimation"];
[code]
\tCABasicAnimation *closeRotationAnimation;
\tcloseRotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
\tcloseRotationAnimation.fromValue = [NSNumber numberWithFloat:M_PI];
\tcloseRotationAnimation.toValue = 0;
\tcloseRotationAnimation.duration = 0.15f;
\tcloseRotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
\t[closeRotationAnimation setRemovedOnCompletion:NO];
\t[closeRotationAnimation setFillMode:kCAFillModeForwards];
\t[_categoriesArrow.layer addAnimation:closeRotationAnimation forKey:@"closeRotationAnimation"];
[/code]
Ну хоть бы в снчала /test зашёл, что ли.
Разметки кода тут нет уже
очень и очень давно, вот только
зачем оно тебе нужно было
если весь код на одном уровне?
к чему эти \t там?
/t - это символ табуляции, я выдернул код прямо из xcode. каким хуем он при копипасте оказался тут? макака знает
> джобсу ебнуло в голову придумать Interface Builder
Неистово двачую и ненавижу IB.
Он тормозит, почти сразу он приводит к low cohesion (уж лучше пусть весь UI сетап будет в одном месте - в окне редактора кода), его невозможно использовать на экране 13" прошки.
я за 3 года так и не понял как ПРАВИЛЬНО делать tableViewCell с динамической высотой контента с помощью IB. кто-нибудь киньте ссылкой а?
- (CGFloat)tableView:(UITableView )tableView heightForRowAtIndexPath:(NSIndexPath )indexPath ?
youtube: stanford university ios7 под обжектив-с лучше небыло и не будет
бамп вопросу
Чет пиздишь, под 4гб, на эйре идея джетбрейновская заебись работает
Вопрос: какие в принципе есть возможные способы доставки файла (после установки приложения, разумеется) на телефон? (без айтюнса, например, или при нахождении телефона и компьютера в разных сетях и т.д.) Программа, скорее всего, будет через энтерпрайз аккаунт распространяться, то есть вне аппстора, если это имеет значение (вряд ли).
Полагаю, что не понял. Ну или понял, но ответил очень кратко. Т.е. "Как загрузить файл на телефон? — Через интернет!" в треде о разработке очень не полезно.
Ситуация немного усугубляется тем, что документы могут быть внутренними служебными, и на всякие файлохостинги их загружать, разумеется, запрещается.
Но я для того и хочу узнать все свои варианты, может там чего с рабочим интранетом сделать можно.
Сомневаюсь.
алеша, так ты поясни нормально, файл должен загрузиться автоматически без ведома юзера, без инициации через UI? В чем конкретно у тебя непонятки?
через пуш в приложение приходит ссылка на файл, приложение получает пуш и начинает качать файл. Подводный камень: на пуши нельзя 100% положиться, они могут быть вообще не доставлены. Другой вариант - разместить на своем хостинге простой сервер, к которому периодически будет обращаться приложение за новым файлом.
>Important: Delivery of remote notifications is not guaranteed, so you should not use the notification payload to deliver sensitive data or data that can’t be retrieved by other means.
Нет, не автоматически.
Задача: перенести файл с компьютера на айфон. Юзер самостоятельно должен это сделать. Какие есть возможные варианты?
Известные мне способы:
1. Скачать по ссылке
2. Загрузить через айтюнс
3. Загрузить через вайфай (создав на телефоне хттп сервер?) — как тут https://goodreader.com/gr-man-tr-wifi.html
Есть что-то ещё? Некоторые программы позволяют как-то приложения из почты сразу в них открывать, как это делается?
По поводу второго способа — через айтюнс, — должен ли телефон быть синхронизирован именно с этим айтюнсом/компьютером?
ебанутый интерпрайз.
смотри как работает это приложение: https://itunes.apple.com/us/app/image-transfer-photo-video/id588696602?mt=8
там все возможные идеи реализованы
Есть у меня, скажем, некое вью. Затем я в функции делаю подобное
for (UIView subview in view.subviews){
[subview removeFromSuperview]
}
UIView subview1 = [UIView new]
[view addSubview:subview1]
...
UIView subview100 = [UIView new]
[view addSubview:subview100]
Вызвана функция первый раз, а потом второй. Вот эти вот созданные в коде сабвью после удаления из супервью (в первых строках функции), они из памяти потом пропадают, сборщиком мусора собираются? Скажем, если функция будет вызвана тысячу раз, никаких проблем не возникнет? (С АРКом, конечно же.)
(Разумеется, у меня не 100 сабвью и не столько раз функция вызывается, но мне сам принцип хочется знать.)
> они из памяти потом пропадают
Если ты больше ничего с ними не сделаешь (например положишь в NSArray) то да.
>сборщиком мусора собираются?
пиздец, вон из профессии.
Нет сборщика, есть автоподсчет ссылок.
Свои идеи - гиблая тема. Нужно что-то что нужно людям. Но как это найти? Я создал тред в бэ но там, ожидаемо, всем похуй.
Проблема в том, что по большей части людям нихуя не нужно. Их надо завлекать и увлекать, чтобы они поверили, что им это нужно.
Придумывать что-то новое и доказывать что им это нужно это для гениев вроде Эппл, Форд. 99% бизнесов приходят в уже существующий рынок и всё равно имеют в нем свою долю просто потому что предоставляют достаточно хороший альтернативный выбор.
Вообщем маркетинг важен и необходим, спору нет. Но так же важна и утилитарность.
Погуляй по аппстору, найти какие-нибудь популрярные программы, имеющие приличное количество проблем и не так много аналогов, сделай лучше — профит.
Мне вот, например, нужна была простенькая программа для записи расходов каждый день по категориям, при этом считающая суммарно дневные, недельные, месячные и годовые расходы. Но всё, что я видел (как на мак, так и на айфон) — перегруженная херь со всякими синхронизациями с кучей банковских аккаунтов, месячных или годовых зарплат, кредитов, клаудов и прочих имейлов, расчётом средних или прогнозируемых расходов на будущие тридцать лет с учётом инфляции и так далее. В итоге пользуюсь экселем ну, numbers.
Отличный план, спасибо. Хотелось бы более удобный интерфейс / статистику в апсторе.
>>527238
Хакинтош же попробуй.
Слишком некрота, тем более для виртуалки.
-(void)keyboardWasShown:(NSNotification *)aNotification {
_bottomConstraint.constant += [[aNotification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size.height;
[_inputView setNeedsUpdateConstraints];
[_inputView setNeedsDisplay];
}
Теперь ситуация такая: сначала выезжает клавиатура, а потом резко над ней появляется текстфилд (_инпутВью). Нужно чтобы клавиатура и текстфилд выезжали одновременно и плавно, посоветуйте что дописать.
(Представленный выше метод выполняется по нотификейшену)
это кишки? недавно пытался докопаться до этого момента, но заблудился в депенденси хелле
ага
[UIView animation...
зачем вообще копаться в этом дерьме? Надеяться что-то полезное узнать? ну вот теперь ты узнал как (неправильно) делать dispatch_once
чего? ты что впервые видишь dispatch_once и не знаешь для чего он нужен? а про потокобезопасность знаешь что-нибудь?
Параша какая-то, в эпловском вызовы GCD должны быть которые гарантируют что эта блок выполнится только раз. А эта хуйня что гарантирует? Нихуя.
она гарантирует единоразовый вызов в условиях единопоточности. На этом их полномочия все.
А тыкнуть пкм -> refactor -> safe delete не?
1.Напишите представление числа -1, имеющего тип int16_t, в двоичной системе счисления.
2.Объясните, что делает следующее выражение: (n & (n - 1)) != 0
3.Предположим, вам необходимо написать собственную реализацию класса NSMutableArray. Какую структуру данных вы бы использовали? Прокомментируйте, какой алгоритмической сложностью в вашей реализации обладали бы следующие операции:
а) вставка нового элемента в начало структуры;
б) вставка нового элемента в конец структуры;
в) поиск существующего элемента по значению;
г) поиск существующего элемента по индексу;
д) удаление существующего элемента.
4.Аналогичный вопрос для реализации класса NSMutableDictionary. Какую структуру данных вы бы использовали? Также напишите, какова была бы алгоритмическая сложность следующих операций:
а) вставка нового элемента в структуру;
б) поиск существующего элемента по ключу;
в) удаление существующего элемента по ключу.
5.Напишите реализацию для функции, которая принимает на вход последовательность ASCII-символов и выдаёт самый часто повторяющийся символ:
char mostFrequentCharacter(char* str, int size);
Функция должна быть оптимизирована для выполнения на устройстве с двухъядерным ARM-процессором и бесконечным количеством памяти.
Поясните своё решение.
Структура данных для NSMutableArray? осмелюсь предположить, может быть, связный список?
1 - 1111111111111101
2 - n!=0 (вроде бы)
3 - https://en.wikipedia.org/wiki/Doubly-linked_list
4 - https://en.wikipedia.org/wiki/Hash_table
1. 1111111111111111
2. true если n не является степенью двойки (т.к. n - 1 это n, где последнюю единицу поменяли на 0, а все нули после нее на 1 => если в n больше одной единицы, n и n - 1 будут иметь общие биты)
3. хэшмап с последовательными int-ключами и размером, как минимум равным количеству элементов. O(n), O(1) амортизированное, O(n), O(1), O(n).
4. массив односвязных списков. O(1), O(1), O(1), но все три амортизированные.
5. http://ideone.com/GItLXs
>Поясните своё решение.
Оптимизируют не запустив профайлер только долбоебы.
А в чём выражается оптимизированность под АРМ с бесконечной памятью?
Какие там вообще варианты-то могут быть, кроме составления списка/словаря/массива/чего угодно и инкрементирования значений в for-лупе по всей строке?
я подобных задач не решал, но мне кажется, что можно распараллелить обход строки между ядрами? Одну половину символов обходит первое ядро, вторую половину - другое ядро. Получается в два раза быстрее.
>А в чём выражается оптимизированность под АРМ с бесконечной памятью?
А хуй знает, может хотят код на асме.
Нет.
Из-за синхронизации доступа к счетчикам производительность упадет сильно.
Если в два потока то не будет же большого падения, если только строка не состоит из нескольких повторяющихся символов. Так как память не важна, то можно каждому потоку по массиву выдать, а в конце просуммировать - сложность то линейной останется.
Так для суммирования нужно будет ещё раз по всему массиву букв пройтись? Конечно, если строка много-много символов, то это пренебрежимо, а если длина строки сопоставима со 128, то ещё 128 итераций сложений после, скажем, 100 итераций на каждом из ядер по половине строки, в сумме будут дольше, чем просто 200 за один заход. Совсем хуйню сказал? Или в таких задачах сразу принимается, что строка оче большая?
нет, все делается семафорами, счетчики в каждом потоке свои. В конце обхода объединяем счетчики
На маленькой строке нет разницы как ты будешь считать символы, поэтому фактически да, подразумевается очень длинная строка, хотя напрямую такого правила вроде нет. Вообще понятие "сложности алгоритма" на маленьких размерах малоприминимо, "быстрый" алгоритм может оказатся медленее более "сложного" на очень маленьком количестве элементов, так как при оценке сложности опускаются коэффициенты и некоторые слагаемые.
>>534926
Зачем семафоры если счетчики разные? Один поток просматривает свою половину строки, второй свою. При объединении счетчиков, один поток объединяет одну половину, второй вторую.
семафоры для того чтобы синхронизировать в конце оба потока. для чего еще то?
Ты имеешь в виду пикрелейтед?
Ну да, создаёшь таблицу, grouped, static cells. Развешиваешь на свои ячейки ибаутлеты или каким-то ещё образом до них через код добираешься и программно добавляешь всякие свитчки через
UISwitch (звёздочка)mySwitch = [[UISwitch alloc] init];
myCell.accessoryView = locationSwitch;
mySwitch.on = false;
[mySwitch addTarget:self action:@selector(myMethod:) forControlEvents:UIControlEventValueChanged];
Текст через справа через [myCell.contentView addSubview:[[UITextField alloc] initWithFrame:<...>]];, переходы всякие по выделению ячеек и/или сегвеям. Разве что с разворотом не уверен, не делал такое, но, думаю, там просто добавляется ещё один сабвью и все нижние ячейки сдвигаются.
да, пик, так и сделал как у тебя написано, только анимация проёбывается когда разворачиваешь ячейки, надо делать динамическими чтоб анимация нормально воспроизводилась
БТВ сегодня иду на собес с СЕО, пожелайте мне удачи
Как долго к этому шел, сколько своих приложений запилил?
Как все прошло? Было ли тестовое задание?
Кек, поздравляю, чо. Скинь тогда свою реализацию этого календаря теперь, что ль.
шел три месяца (лол) до этого для себя педалил на джаве и шарпах пару лет. Нашел объявление типа набираем айос стажеров, отправил резюме, прошел тестирование (было больше 100 человек) отобрали 12, потом 2 месяца педалили мобильное приложение для социальной сети, потом взяли 4х, это всё
>>541078
как пересяду за мак - скину, будет ближе к вечеру
*big nerd ranch guide
вопрос снят. уж извиняйте, тред не читал
Рассказываю как сделал. Объявляю структуру, которая хранит информацию о ячейках, нажатие на которые изменяет состояние вьюхи
[code]
struct CellInfo {
int section;
int row;
BOOL isHidden;
};
[/code]
потом внутри фигачу два поля
[code]
@property (nonatomic) struct CellInfo textFieldInfo;
@property (nonatomic) struct CellInfo datePickerInfo;
[/code]
во viewDidLoad все эти дела инициализирую
[code]
_textFieldInfo.section = 0;
_textFieldInfo.row = 1;
_textFieldInfo.isHidden = YES;
_datePickerInfo.section = 1;
_datePickerInfo.row = 1;
_datePickerInfo.isHidden = YES;
[/code]
Ну и собственно сами действия происходят в этом куске. Идея в том что изменяется высота ячейки в 0, если она скрыта
[code]
-(void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath )indexPath {
static NSString titleCell = @"titleCell";
static NSString dateCell = @"dateCell";
UITableViewCell cell = [tableView cellForRowAtIndexPath:indexPath];
if ([cell.reuseIdentifier isEqualToString:titleCell]) {
if (_textFieldInfo.isHidden) {
_textFieldInfo.isHidden = NO;
} else {
_textFieldInfo.isHidden = YES;
_titleLabel.text = _titleTextField.text;
}
[UIView animateWithDuration:0.5 animations:^{
[self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:_textFieldInfo.row inSection:_textFieldInfo.section]] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView reloadSectionIndexTitles];
[tableView reloadData];
}];
}
if ([cell.reuseIdentifier isEqualToString:dateCell] ) {
if (_datePickerInfo.isHidden) {
_datePickerInfo.isHidden = NO;
} else {
_datePickerInfo.isHidden = YES;
_dateLabel.text = [NSDateFormatter localizedStringFromDate:_datePicker.date dateStyle:NSDateFormatterFullStyle timeStyle:NSDateFormatterShortStyle] ;
}
[UIView animateWithDuration:0.5 animations:^{
NSIndexSet set = [[NSIndexSet alloc] initWithIndex:1];
[self.tableView reloadSections:set withRowAnimation:UITableViewRowAnimationFade];
[self.tableView reloadSectionIndexTitles];
[tableView reloadData];
}];
}
}
-(CGFloat)tableView:(UITableView )tableView heightForRowAtIndexPath:(NSIndexPath )indexPath {
if (indexPath.row == _textFieldInfo.row && indexPath.section == _textFieldInfo.section && _textFieldInfo.isHidden) {
return 0;
}
if (indexPath.row == _datePickerInfo.row && indexPath.section == _datePickerInfo.section && _datePickerInfo.isHidden) {
return 0;
}
return [super tableView:tableView heightForRowAtIndexPath:indexPath];
}
[/code]
Критика приветствуется
Рассказываю как сделал. Объявляю структуру, которая хранит информацию о ячейках, нажатие на которые изменяет состояние вьюхи
[code]
struct CellInfo {
int section;
int row;
BOOL isHidden;
};
[/code]
потом внутри фигачу два поля
[code]
@property (nonatomic) struct CellInfo textFieldInfo;
@property (nonatomic) struct CellInfo datePickerInfo;
[/code]
во viewDidLoad все эти дела инициализирую
[code]
_textFieldInfo.section = 0;
_textFieldInfo.row = 1;
_textFieldInfo.isHidden = YES;
_datePickerInfo.section = 1;
_datePickerInfo.row = 1;
_datePickerInfo.isHidden = YES;
[/code]
Ну и собственно сами действия происходят в этом куске. Идея в том что изменяется высота ячейки в 0, если она скрыта
[code]
-(void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath )indexPath {
static NSString titleCell = @"titleCell";
static NSString dateCell = @"dateCell";
UITableViewCell cell = [tableView cellForRowAtIndexPath:indexPath];
if ([cell.reuseIdentifier isEqualToString:titleCell]) {
if (_textFieldInfo.isHidden) {
_textFieldInfo.isHidden = NO;
} else {
_textFieldInfo.isHidden = YES;
_titleLabel.text = _titleTextField.text;
}
[UIView animateWithDuration:0.5 animations:^{
[self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:_textFieldInfo.row inSection:_textFieldInfo.section]] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView reloadSectionIndexTitles];
[tableView reloadData];
}];
}
if ([cell.reuseIdentifier isEqualToString:dateCell] ) {
if (_datePickerInfo.isHidden) {
_datePickerInfo.isHidden = NO;
} else {
_datePickerInfo.isHidden = YES;
_dateLabel.text = [NSDateFormatter localizedStringFromDate:_datePicker.date dateStyle:NSDateFormatterFullStyle timeStyle:NSDateFormatterShortStyle] ;
}
[UIView animateWithDuration:0.5 animations:^{
NSIndexSet set = [[NSIndexSet alloc] initWithIndex:1];
[self.tableView reloadSections:set withRowAnimation:UITableViewRowAnimationFade];
[self.tableView reloadSectionIndexTitles];
[tableView reloadData];
}];
}
}
-(CGFloat)tableView:(UITableView )tableView heightForRowAtIndexPath:(NSIndexPath )indexPath {
if (indexPath.row == _textFieldInfo.row && indexPath.section == _textFieldInfo.section && _textFieldInfo.isHidden) {
return 0;
}
if (indexPath.row == _datePickerInfo.row && indexPath.section == _datePickerInfo.section && _datePickerInfo.isHidden) {
return 0;
}
return [super tableView:tableView heightForRowAtIndexPath:indexPath];
}
[/code]
Критика приветствуется
> Идея в том что изменяется высота ячейки в 0, если она скрыта
Костыль какой-то. Почему не добавлять/удалять ячейки с помощью deleteRowsAtIndexPaths:withRowAnimation: и insertRowsAtIndexPaths:withRowAnimation:?
то что это не будет работать. Но я нашел как пофиксить анимацию, вместо блока анимации нужно вставить
[self.tableview beginUpdates];
[self.tableView endUpdates];
С этим все. Теперь новая задача. Есть Вьюха на которой куча полей, я прыгаю по ним с помощью вот этой штуковины https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html
Все хорошо кроме того момента, когда клавиатура исчезает а вьюха возвращается в изначальное положение, она приползает как-бы справа экрана, что не есть желательно, как пофиксить?
я пофиксил кусок с анимацией. какой кусок проекта тебя интересует? весь к сожалению скинуть не могу ибо договор о неразглашении
Лол, там же код из одного из постов в ветке.
Как повезет, требования на джуна невозможно спрогнозировать - могут требовать как на мидла, а мгут и так взять. Тем более на iOS иногда вообще набирают без знаний objC - правда это скрее трейни будет с соответсвующим баблом. Проекты такие чтобы в стор пропустили (желательно). А вообще, если нормальные, то будут на твой код смотреть, на сам функционал похуй. Там какой-то todo list сделать, хотя бы с тремя вью. Там работа с тейбл вью, навигация, кордата.
>Как повезет, требования на джуна невозможно спрогнозироват
А нужны ли джуны вообще кому-то? Я видел все вакансии на мидлов или сеньоров с соответствующей зп.
Чем занимался разработкой до ios, на кого учился, какие проекты делал, где работал до этого, какая база была? Спасибо.
Посмотри лекцию Александр Соловьев - FRP и ClojureScript. Целый час чистейшего вина, даже если нихуя не поймешь, он просто охуенно рассказывает
Так тебя без опыта обджектива взяли на стажировку? Сколько месяцев джавы опыт был?
коммерческого* самопочин
объявление на самом обычном сайте по поиске работы
кор учиться лениво за 2 месяца, это нихуя не солидно, и тебя даже обоссаным джуном подчищать легаси говно не возьмут без базвордов типа хибернейт и спрингс
нахуй иди, твое мнение меня не волнует
Для разработки не очень больших проектов хватит первого?
И даже для больших хватит.
Не слушай их, я на новый макбук с 256гб накатил капитана со всем дево-говном и уже 60гб зохавано. А мне ещё пачку виртуалок лепить, тут-то место и кончится.
Уже пару лет разрабатываю под iOS на air с 128 гб, все отлично. Это при том что пол диска под windows отданы.
Но вот виртуалки это отдельная тема, с ними 128 наверное не хватит.
внутренний рисунок рисует дизайнер
• Как относитесь к App Transport Security?
• Да и вообще есть смысл ставить deployment.target = 9.0?
хуй знает, у нас в конторе обновились, но в основном нужна легаси 7 и 8 версии. Более того - новый XCode сыроват, часто крашится там где не следовало бы. Так что ещё рано че-то говорить
Мне вот ATS особенно интересно, у вас все API на SSL или вы просто флаг добавили как я, тк у меня своего рода браузер поверх UIWebVIew, я вот думаю как в Apple на это среагируют при выкладывание в appstore.
я хуй знает, только неделю там
Хуйня какая-то написана. ObjC примитивный язык, натренировать swift обезьяну чтобы она могла писать оберки над ObjC кодом дело пары дней. Старый ObjC код будет интегрироваться в проэкты на свифте самими свифт разработчиками и постепенно переписываться. Другое дело что свифт выглядит как гавно, возможно будет существовать комьюнити которое принципиально будет писать на ObjC, но это по прочине неприязни к свифту а не легаси. Легаси будет похоронена за тоннами оберток в течении лет 5 после полного перехода на swift. Если такое произойдет.
Мне вот эти в свое время помогли освоиться
http://rutracker.org/forum/viewtopic.php?t=4679798
Зачем тебе задания в школе мало задают?
Садишься и пишешь приложение под iOS на свифте.
Нет своих идей, ищешь интересный репозиторий на github и делаешь туда пул-реквесты.
С чем помогли разобраться?
Хочу приобрести дешёвый айфон. 4s за 8к разумный выбор?
В принципе можно и iPad 2 купить, по цене примерно также.
У него есть виртуализация телефонного режима. Сможешь просто сразу тестировать и iphone верстку и ipad.
Спасибо!
Это правда что перед тем как начать кодить на ios - надо поработать кодером в другой области на другом языке? Просто открыл те же курсы стенфорда в itunes u и в пререквестах было требование strong oop programmer
Меня это смутило, просто ооп я в теории знаю концепцию.А из практического опыта программирования лабы на джаве уровня найти элементы матрицы. И работа год в qa, где проверял айос приложения и подумал что мне хотелось бы создавать эти чудные приложения.
Как я понял учить надо с obj-c, т.к. свифт кодер никому сейчас не нужен будет, т.к. весь софт сейчас на сях и требования тоже си?
Заранее спасибо за ответ.
У меня андроид студия работает шустрее на рабочем аймаке кор2дуо (низкая частота, что-то вроде 1.6) + 6 ГБ ддр3 чем на домашнем пека ай5 (3.4) + 8 ГБ
Big Nerd Ranch iOS книгу бери и поехал.
Swift нужен, но потом. Вся текущая кодовая база на Obj-C.
>Big Nerd Ranch iOS книгу бери и поехал.
Т.е. в начале Objective-C Programming: The Big Nerd Ranch Guide
А затем iOS Programming: The Big Nerd Ranch Guide
Понял. спасибо. Первая даже на русском есть, круто
Вчера хелоуворды пописал на сях, блин, какой же он неудобный после джавы
Java:
public Feature addFeature (String name, String value, boolean isOptional);
Objective-C:
-(Feature) addFeature :(NSString)name withValue:(NSString*)value asOptional:(BOOL) optional:
Но первый случай более читаемый ж. Помню когда открыл при тестировании исоходник аппа на сях, я в ужасе был, ничо не понял.
>Но первый случай более читаемый ж
Нихуя он не более читаемый, особенно если смотреть вызов внутри кода а не сигнатуру метода.
Кстати есть тут те кто работал с RoboVM?
Решил им обмазаться, вроде пока не хуже Xamarin
и даже по многим параметрам лучше (дешевле, на Android вообще нативно).
Никак. Ты будешь работать хуево и медленнг справляться с задачами. В этом суть джуна.
Мимо-джунн
Ну зуй знает, у меня вот есть мак, но я боюсь начинать кодить под айфоны, мне кажется это сложнее чем просто кодить под джаву. Хотя другие говорят легче.
Попробуй RoboVM, будешь в Idea разрабатывать на Java под iOS.
Хрень какая-то, всё просто. Я начинал во времена MRC - вот там был адок retain-release.
90% отваливаются в истерике на синтаксисе Obj-C, хотя он совершенно нормальный по сравнению с функциональщиной всякой.
Самое напряжное - уродливый синтаксис блоков и отсутствие NULL EXCEPTION из-за которого ищешь кто занулился выше по коду.
Остальное мне лично норм. Отличный язык.
А как же отсутсвие неймспейсов и куда бы ты не положил класс, все равно получается просто куча.
Поясни по хардкору, нужно ли сейчас задрачивать MRC, кроме случаев возможных вопросов на собеседовании? Реально же уже наверно все фреймворки на ARC?
Значит хуёво основы учил.
It-отрасль работает таким образом что засчет недоплаты 300 баксов помидорам, нанимаются всякие джуны и пол года не генерируют нихуя полезного. Не ссы, бищнесмен свои деньги тебе не дарит, ты их еще отработаешь
> Подскажите как закодировать
В чем проблема? Слушаешь сообщения от слайдера что его значение изменилось. Соответственно меняешь свойство картинки. Ты расчетов никаких не проводишь, поэтому второй поток не нужен. Свойство картинки нужно менять только из главного потока - любая работа с UI должна быть в главном потоке. А там нужно смотреть, может при перетаскивании ползунка будет тормозить из-за слишком частого обновления, тогда что-то прийдется придумавать. Например пока ползунок ползет, обновлять только каждые 100мс. Но это если будет тормозить, скорее всего изменения яркости/контрастности/насыщенности будет просчитывать GPU, а он должен вывезти.
> Соответственно меняешь свойство картинки
Имелась ввиду ебля с Core Image фильтрами. Если тебе что-то более спецефическое и нужно вручную считать, то там да, в отдельном потоке. По ивенту от слайдера. Потом в основном потоке рефрешишь картинку на основе просчитаного.
Как долго происходит собственно перерисовка? Если даже считать в отдельном потоке, а потом колбеком отрисовывать на экране, то перерисовка будет серьёзно замедлять работу main потока. Или я что-то не понимаю?
> будет серьёзно замедлять работу main потока
Проблема в том что вся работа с UI должна вестись из главного потока, иначе у тебя он может просто необновлятся, или обновляться с лагами и т.п. Тоесть расчеты в бекграунде, а обновление UI в главном.
А в чем проблема сделать отдельный диспатчер и в него отравлять команды на изменение?
В нем команды будут исполняться последовательно, но ассинхронно.
main*
Попытайся определить на чем именно тормозит. Перерисовка должна быть быстрой, в играх же 30-60 раз за секунду прорисовывается. Полистай документацию GPUImage, я просто с ней не работал, там у них наверное есть свой имедж вью который будет быстрее работать чем стандартный. Я хуй знает вообще, твоя картинка должна лежать как текстура в памяти GPU, ты по ней ебашишь фильтрами и время от времени обновляешь на вью. Если использовать стандартный имедж вью то там может постоянно создается новый UIImage, и получается что текстура сначала выгружается в UIImage, а потом он выгружается назад в текстуру для отображения из-за чего все и тормозит. Также сделай ограничение на перерисовку, не по каждому ивенту от слайдера а там, напрмиер, не чаще 60 кадров в секунду. Тоже самое наверное и с фильтром можно сделать, запоминай время в которое обработал последнее сообщение от слайдера, и пока не пройдет поределенный промежуток времени все сообщения игнорируй.
После стажировки есть вариант на 40-43 тысячи, стоит того? Ибо больше вариантов в дс не вижу. За год с 40 до скольки можно будет дорасти?
Для тех,кто не вкатился еще стоит ли учить obj-C а потом сверху swift или сразу swift?
Или изучив obj-C можно ли получить джуна и в процессе доучивать swift или скажут идинахуй?
Аналогичный вопрос про swift но тут уже неопределенность:
с одной стороны ведь и не нужно тебе уже учить obj-C ведь будущее за свифтом а с другой ты можешь страдать из-за его незнания.
В общем какие обновленные данные на сегодняшний день по не давно ставшими платиной вопросам?
Учись, блин, программы писать, используя кучу всяких разный фреймворков и прочих встроенных и не очень библиотек. На свифте или на обж-ц писать (на начальном-то уровне), по большей части, разница лишь синтаксиса. База узнаётся, наверное, за 1 час, а остльное в процессе написание будешь гуглить и запоминать.
Чего там вообще учить-то, я не понимаю? Я за две-три недели с нуля (имея опыт питона и жс, правда) написал прогу, работающую с картами, анимациями, интернетом, сокетами и сслами и прочей хернёй. Да, возможно и говнокод, но это от выбора языка уже не зависело никак.
Это вообще норма не делать велосипедов, а готовые решения по задачам искать определенным?
Какое тестовое? Не изобретать велосипеды а скачать все приложение с кокоаподс это правильно и даже молодец
При том что из коробки нет поддержки отправки ММС сообщений, либо писать собственный гейт, либо использовать сторонние сервисы. И кстате я преуспел, правда Twilio поддерживает рассылку ММС только для штатов и канады, для остальных хостит картинку у себя на сервере, а в сообщении приходит линз
Бери новее 12 года, должен тянуть последний Xcode
Все разобрался, надо было кликнуть на fix issue и ввести другой Bundle identifier.
Это копия, сохраненная 23 октября 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.