Рубрика «Cocoa» - 3

Приглашаем на CocoaHeads Moscow 5 декабря - 1

Приглашаем на CocoaHeads Moscow 5 декабря - 2Наступила зима, а значит уже через пару-тройку месяцев Apple представит долгожданные Apple Watch. Для того чтобы разработчики могли подготовиться к запуску, в ноябре был представлен Watch Kit, позволяющий писать приложения, использующие все возможности часов. Поэтому один из наших докладчиков, Зимин Александр , поделится своим мнением о Watch Kit, расскажет, как и с чем его едят, и покажет интерактивное демо. Так как это совершенно новый Kit, Александр надеется перевести свой доклад в дискуссию, где каждый, кто успел взглянуть на этот инструмент, выскажет свои мысли или поделится опытом.
Читать полностью »

Приглашаем на CocoaHeads Moscow 31 октября

Эта неделя богата на конференции для разработчиков мобильных приложений, но ничто не заменит тёплого общения на пятничном CocoaHeads в офисе Mail.Ru Group — приходи обсудить YaC, MBLTDev и всё, что случилось за этот месяц. Ну и, конечно же, послушать доклады наших спикеров. А спикеров у нас будет трое:

Приглашаем на CocoaHeads Moscow 31 октября Первым продолжит тему эффективности, начатую в предыдущий раз Олегом Овечкиным, Константин Забелин из компании Забабако, рассказав доклад под названием "Как писать больше кода в Xcode или ещё немного про эффективность". Константин планирует рассказать про то, как можно писать больше кода, используя для этого пару твиков любимой идэешки и системных способов ввода. Также он поделится несколькими рецептами для упрощения жизни разработчиков.
Читать полностью »

Локализация приложений под OS X

При разработке приложения определенное значение имеет его локализация, поскольку это напрямую влияет на число пользователей и, соотвественно, успешность продукта. Известна статистика по числу интернет-пользователей для различных языков, и напрашивается вывод о том, что, сделав перевод для группы некоторых определенных языков, можно значительно расширить аудиторию пользователей своей программы.

Наша команда трудится над проектом ICQ и Агентом Mail.Ru (привет Дима, Вова, Леша) под OS X, и локализация продукта на разных этапах развития осуществлялась по-разному, для каждого из подходов обнаруживались свои достоинства и недостатки. Некоторым накопленным опытом я и хочу поделиться.
Читать полностью »

Нескучные UITableViews

Захотелось мне однажды сделать бесконечно скроллящиеся таблицы нескучными. Решение нашлось сразу — нужно анимировать ячейки при их первом появлении на экране. В итоге реализация оказалось достаточно простой, а полученные эффекты — очень интересными.
Внимание! Под катом — тяжелые GIFки.
Читать полностью »

В Cocoa очень популярен паттерн делегирование. Стандартный способ реализации этого паттерна — добавление к делегатору weak свойства, которое хранит ссылку на делегат.

У делегирования много различных применений. Например, реализация какого-то поведения в другом классе без наследования. Еще делегирование используется как способ передачи уведомлений. Например, UITextField вызывает у делегата метод textFieldDidEndEditing:, который информирует его о том, что редактирование закончено, и т.д.

А теперь представьте задачу: надо сделать так, чтобы делегатор посылал сообщения не одному делегату, а нескольким, причем делегирование реализовано стандартным методом через свойство.
Читать полностью »

image
На всемирной конференции разработчиков (WWDC 2014), проходившей в этом месяце, компания Apple порадовала самым крупным обновлением SDK с момента его релиза в 2007 году. Представлено более 4000 новых API, в том числе Extensions, CloudKit, Adaptive View Controllers, новые фреймворки HomeKit, HeathKit, Metal, а также собственный язык Swift. Такое разнообразие технологий даёт отличный повод Cocoa разработчикам собраться вместе и поработать над чем-то действительно новым.

В субботу и воскресенье 28-29 июня сообщество CocoaHeads Moscow проведёт первый в России специализированный iOS/OS X хакатон, который пройдет в московском офисе Mail.Ru Group. В программе: серия коротких докладов по представленным технологиям от участников сообщества и, конечно, безудержная разработка с утра до следующего вечера.
Читать полностью »

В данной статье я хочу представить OLEContainerScrollView, который является потомком UIScrollView и позволяет вам добавлять несколько scroll views, таблиц (UITableView) или коллекций (UICollectionView) в один контейнер.

Возможное применение


Вы можете использоваться OLEContainerScrollView для достижения следующих целей:

  • Размещение несколько scroll views (или таблиц, или коллекций) один под другим так, чтобы при этом их обычное поведение при прокрутке не пострадало. В случае таблиц или коллекций речь идет о сохранении работоспособности механизма повторного использования ячеек.
  • Превращение одного сложного UITableViewDataSource или UICollectionViewDataSource в несколько простых источников данных путем разделения таблицы или коллекций, состоящей из нескольких секций, на несколько односекционных таблиц или коллекций, расположенных друг за другом.
  • Добавление заголовка или подвала (header или footer) над или под коллекцию без необходимости управлять их разметкой. В таком случае это будут простые UIScrollViews или UIViews.

Читать полностью »

Наша компания довольно давно занимается разработкой больших веб-приложений на Python / Django. В рунете крайне мало информации об этом замечательном языке программирования и фремворке на его основе. Мы решили исправить эту ошибку и рассказать о популярных высоконагруженных сайтах на этой технологии, а также дать много интересных технических подробностей. Для удобства сравнения сайтов между собой мы приводим еще и немного статистики к каждому из проектов. В целом сайтов на Python / Django, конечно, очень много в мире, мы охватим только наиболее интересные по нашему мнению.

Небольшая таблица известных проектов (на основе данных http://builtwith.com/), кликабельно:
Читать полностью »

Я хотел научиться работать с oracle из xcode, так как не обнаружил готового фреймворка от apple для работы с базой данных oracle напрямую.
Для начала, я попробовал создать тестовый проект и подключить к нему instantclient от oracle. Также я использовал тестовый пример от Oracle ( cdemo81.c ), включил его код в проект на xcode и протестировал работу. Да, все работает, хотя пришлось немножко побить в шаманский бубен от google. Тем не менее, использовать напрямую oci библиотеку тяжело, так как нужно реализовать интерфейс, а это похоже на изобретение велосипеда.
Тогда я решил попробовать использовать кросс-платформенную библиотеку ocilib ( http://orclib.sourceforge.net )
Далее в тексте пошаговая инструкция о том, как сделать тестовый проект на cocoa и использовать эту библиотеку. Цель тестового проекта — подключив библиотеку получить данные с сервера oracle.Читать полностью »

Всем привет.
Сразу уточню заголовок: под нарезкой подразумевалось создание уменьшенных копий png и jpg файлов. То есть, то, что иногда требуется разработчикам/верстальщикам/дизайнерам. В моем конкретном случае — уменьшение картинкок для Retina дисплеев в два раза под обычные экраны.

Способ #0, канонический

То есть фотошопом или каким-нибудь другим редактором изображений при непосредственном участии пользователя. Последовательность действий такова: открываешь картинку в редакторе, уменьшаешь до 50 % (вставить нужное число), сохраняешь с требуемым именем. Если уменьшение изображения повесить макросом на хоткей, то время тратится только на переименование файла и первоначальную загрузку редактора. В итоге — секунд 30 на файл, недолго, но если файлов много, то потеря времени ощутима.
Могу поспорить, что многие, очень многие, так и делают или делали в течение какого-то периода своей карьеры. Я сам, зная о том, что все это можно легко автоматизировать, все равно рубил дрова тупым топором, успокаиваясь мыслью, что просто нет времени его наточить. И наконец это время пришло.

Маловажная информация

Катализатором, кстати, выступила эта ветка комментариев.

Способ #1: «Все уже сделали за нас»

Существуют вполне себе многофункциональные платные программы, а также инструмент в Photoshop начиная с v. 14.1 (спасибо designiac за ссылку). Они проворачивают свою магию прямо с psd файлом, избавляя от некоторых рутинных операций. Все это, конечно, круто, но во-первых, за деньги (все же пользуются лицензионным софтом!), а во-вторых, они все равно не сделают все за вас. Конечно, хотелось бы услышать мнение тех, кто пользовался подобными инструментами, может я не прав, и они действительно творят волшебство.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js