Давно, в 2005 году, мне купили первый телефон с камерой — Siemens M65. После того, как было сделано приличное количество снимков, возникла нужда их упорядочить — была написана небольшая программа на Delphi, которая упорядочивала и позволяла просматривать изображения по дате — путём выбора нужного года, месяца и числа. Шло время, увеличивались мощности телефонов, количество мегапикселей, появилась поддержка видео — и всё это по мере появления было встроено в программу. Позже появилась версия программы и под Mac OS X, которая была написана с использованием фреймворков, доступных в этой ОС для работы с изображениями(Core Image) и видео(AV Foundation). О первом фреймворке и создании для него своего фильтра поговорим более подробно.
Читать полностью »
Рубрика «objective-c» - 25
Пишем свой Core Image Filter
2012-04-24 в 9:43, admin, рубрики: mac os x, objective-c, анаглиф, обработка изображений, Программирование, метки: mac os x, objective-c, анаглиф, обработка изображенийЛёгкая кастомизация UITableView
2012-04-23 в 6:01, admin, рубрики: Cocoa, ios development, objective-c, UITableView, UITableViewCell, xcode, интерфейс, Песочница, разработка под iOS, метки: Cocoa, ios development, objective-c, UITableView, UITableViewCell, xcode, интерфейсНачиная писать приложения для iOS, невольно берёшь в пример самые крутые из уже созданных: Twitter, iBooks, Find My Friends, The Rules и т.д. Все эти приложения объединяет одно — нестандартный интерфейс. И это не тот нестандартный интерфейс, который получается, например, при портировании приложения с Windows Mobile, а именно красивый интерфейс, соответствующий iOS Human Interface Guidelines.
И вот, когда я начинал свой тернистый путь iOS-разработчика, передо мной встала довольно-таки нетривиальная на тот момент задача: сделать нестандартный UITableView.
Читать полностью »
ARC: заметки с фронта войны за память
2012-03-25 в 8:53, admin, рубрики: ARC, objective-c, память, разработка под iOS, ссылки, метки: ARC, objective-c, память, ссылкиЗдравствуйте, многоуважаемые коллеги.
Возможно, вы не знаете, но каждый день, каждый час, каждую секунду мы ведем войну за память устройств. Для кого-то эта война незаметна, кто-то не придает ей значение, кто-то воюет по-старинке. Однако же, я пишу это письмо вам, пишу для всех моих сослуживцев в войсках UIKit, Objective-C и Cocoa Framework.
Много байт мы потеряли, много еще будет потеряно, но все же фронт мы не сдаем. Мы получаем новое и интересное оружие, одно из которых – это ARC, Каунтер ссылок автоматический. Воистину, с новым оружием нам открылись новые горизонты, и мы было уже начали побеждать, но мы чрезмерно расслабились.
О чем я говорю, спросите вы? О том, что память не сдается! Да, часто, но нет, не всегда мы ее получаем, завоевываем. Читать полностью »
О форматировании кода и User Scripts в Xcode 4
2012-03-21 в 21:13, admin, рубрики: integration, iphone development, objective-c, xcode, разработка под iOS, метки: integration, iphone development, objective-c, xcodeКогда человеку надоедает делать рутинную работу, у него возникает дикое желание от этой работы избавиться. Однако, в реальной жизни избавиться от нее не так просто, и ее все, же надо делать. В зависимости от вида работы и от ее количества, можно поступать по-разному. Можно продолжать выполнять уже заученные действия, можно уйти в себя и копить злость на всех и вся, на этот мир, на начальника, на PM'a, на <вписать свою причину> А можно попытаться эту рутину автоматизировать.
А пост будет о конкретной задаче, которую надо автоматизировать(Code Formatting) и о том, как все-таки расширить Xcode всякими полезными вкусностями для дальнейших автоматизаций. В прошлый раз это был Copy Paste Detector. А теперь пришло время Code-Formattera. Скажу сразу, что в здесь не поднимается вопрос, нужен ли автоматический Code-Formatter. Предполагается, что Вам он нужен. Если, все же не нужен — можно заглянуть под кат, чтобы вспомнить про возможность использовать внешние скрипты в Xcode. Читать полностью »
Пишем клавиатуру для нестандартного ввода под iOS
2012-03-14 в 11:23, admin, рубрики: iOS, iphone, objective-c, разработка под iOS, метки: iOS, iPhone, objective-c Стандартная библиотека предоставляет для UITextField
и UITextView
несколько различных типов клавиатур, среди которых есть обычная, Email, URL (от обычной отличаются несколькими символами) и Phone (цифровая). Для большинства жизненных ситуаций этого достаточно, но не всегда.
Представим, что в приложении есть поле ввода, могущее принимать числа и арифметические выражения.
Phone клавиатуры нам будет недостаточно — нет точки, нет всех символов операций, и т.д.
Безусловно, все необходимое есть на обычной клавиатуре, однако в данном случае 95% ее использоваться не будет (напомним, нам нужны только цифры + символы арифметических операций).
Вывод напрашивается сам собой: нужно писать свою клавиатуру, ну вы знаете с чем!
Разработка под Apple iOS / Шокирующий Objective-C для Java программистов, часть вторая
2012-02-21 в 13:57, admin, рубрики: java, objective-c, за 24 часа, метки: java, objective-c, за 24 часаПродолжаю краткий обзор особенностей Objective-C, удивляющих Java программистов (первая часть). Во второй части немного будет рассказано о философии языка, о поддержке пространств имен и о типе id. Судя по комментариям к первой части, необходимо немного пофилософствовать, поэтому обещанные свойства (property) переносятся в третью часть. Также узнаем какие вопросы задают в американских супермаркетах.
Совершенство это не когда нечего добавить, а когда нечего отнять
Как правильно было отмечено bobermaniac в комментариях кЧитать полностью »
Разработка под Apple iOS / Шокирующий Objective-C для Java программистов
2012-02-17 в 18:44, admin, рубрики: java, objective-c, за 24 часа, метки: java, objective-c, за 24 часаО чем эта статья?
Два факта. В мире много Java программистов. Популярность Objective-C растет. Вывод: Java программист, изучающий Objective-C не такая уж редкость. Если знать ключевые различия между языками, то можно эффективно использовать существующие знания Java и быстрее начать писать на Objective-C.
Я начинал с С, пишу на Java последние 15 лет, иногда переключаясь на С++, Python, Perl, с интересом наблюдаю за Scala. И вот теперь Objective-C.
От каждого путешествия обычно остается несколько историй о наиболее забавных отличиях «нас» от «них». Не претендуя на полноту изложения расскажу об особенностях Objective-C, которые особенно удивили меня,Читать полностью »
Разработка под Apple iOS / Упрощаем создание extern констант
2012-02-11 в 10:43, admin, рубрики: const, objective-c, метки: c++, const, objective-c Известно, что для того что бы создать extern константу (например типа NSString *) необходимо сделать два шага:
— в .h файле объявить константуextern NSString *const kMyConst;
— в .m файле присвоить ей значениеNSString *const kMyConst = @"kMyConst";
То, что приходится два раза писать примерно одно и тоже это нормально, если у вас немного подобных констант.
Когда я столкнулся с необходимостью объявления около 30 констант, я решил придумать что нибудь более красивое. По итогу вышла трех-файловая реализация.Constants.h#define def_key(name) extern NSString *const name
#define def_int(name, value) extern int const name
#define def_type(type, name, value) extern type const name
#include "ConstantsDefs.h"Constants.m#import "Constants.h"
Читать полностью »