28 февр. 2014 г.

Mountain Range Wallpaper (original)

Mountain Range обои с разным разрешением под некоторые устройства.

1280x1024
Dual Monitors (3360x1050)
Android (2160x1920)
HD+ (1600x900)
FHD (1920x1080)
WUXGA (1920x1200)
iMac 27" (2560x1440)
Macbook Retina 13" (2560x1600)
Macbook Retina 15" (2880x1800)
QHD+ (3200x1800)

27 февр. 2014 г.

25 февр. 2014 г.

Objective-C протоколы. Часть 1

Протоколы описывают методы, которые могут быть реализованы каким-либо классом. Цели для которых используются протоколы: 

- Ожидание, что класс поддерживающий протокол выполнит описанные в протоколе функции;
- Поддержка протокола на уровне объекта, не раскрывая методы и реализацию самого класса;
- В виду отсутствия множественного наследования - объединить общие черты нескольких классов.

Формальные протоколы

Объявление формального протокола гарантирует, что все методы объявленные протоколом будут реализованы классом. Простейшее описание протокола:

@protocol ProtocolName
     method declarations 
@end

За словом @protocol следует перечисление методов, также как и в обычном объявлении методов класса. Протокол может быть унаследован от произвольного количества других протоколов:

@protocol MyProtocol <Protocol1, Protocol2, Serializable, Drawable>

Добавление поддержки протокола к классу

Чтобы указать классу о поддержке определенного протокола необходимо включить заголовочный файл протокола в файл описания класса, и после в <скобках, через запятую>перечислить протоколы:

#import "protocolName.h"
 
@interface MyClass : SuperClass <protocolName>
     описание класса
@end
 
В файле реализации класса необходимо реализовать все методы которые описывает протокол! Но - в Objective-C 2.0 добавлены еще два новых модификатора @optional и @required:
 
@protocol asdfg
     - (void) readMy;
@optional
     - (void) saveReadMy;
     - (NSString*) loadReadMy;
@required
     - (NSInteger) countReadMy;
@end

Данный протокол показывает, что протокол asdfg дожен реализовать методы readMy и countReadMy, а методы saveReadMy и loadReadMy необязательны к реализации.
 
Более подробно о протоколах и их применению будет в следующей статье. Одно из применений протоколов можно посмотреть на примере табличных представлений NSTableView.

23 февр. 2014 г.

NSDistantObjectRequest - обработка вызовов между процессами

Объекты класса NSDistantObjectRequest используются системой распределенных объектов для обработки вызовов между различными процессами. Эти объекты никогда не следует создавать напрямую. Если вы хотите получить доступ к низкоуровневым деталям распределенных объектов, никогда не следует использовать для этого NSDistantObjectRequest. Для перехвата и обработки запросов вручную следует реализовать делегатный метод handleRequest класса NSConnection.

Методы класса

Получение информации о запросе

НазваниеОписание
- connectionВозвращает объект NSConnection, участвующий в запросе.
- conversationВозвращает объект-токен, представляющий разговор, в котором был создан текущий объект.
- invocationВозвращает объект NSInvocation для запроса.

Выбрасывание удалённого исключения


НазваниеОписание
- replyWithException:Отправляет ответ обратно на удаленный объект, создавая запрос к удалённому объекту.

NSDistantObject

21 февр. 2014 г.

NSDistantObject - прокси для объектов

Класс NSDistantObject является конкретным подклассом класса NSProxy, который определяет прокси для объектов в других приложениях или потоках. Когда удалённый объект получает сообщение, в большинстве случаев сообщение перенаправляется через объект NSConnection к реальному объекту в другом приложении. При этом возвращаемое значение доставляется отправителю сообщения, или он получает исключение от вызываемого метода. NSDistantObject определяет методы для создания экземпляров класса NSConnection, но они предназначены только для для переопределения в подклассах — вы никогда не должны вызывать их напрямую.
Методы класса

Создание локального прокси

Название
Описание
+ proxyWithLocal:connection:
Возвращает локальный прокси для заданного объекта и связи, создавая прокси при необходимости.
- initWithLocal:connection:
Инициализирует объект NSDistantObject как локальный прокси для заданного объекта.

Создание удаленного прокси

Название
Описание
+ proxyWithTarget:connection:
Возвращает удаленный прокси для заданного объекта и связи, создавая прокси при необходимости.
- initWithTarget:connection:
Инициализирует вновь созданные NSDistantObject как удаленный прокси для удалённого объекта, который является идентификатором в другом потоке или другом приложении.

Получение объекта NSConnection для прокси

Название
Описание
- connectionForProxy
Возвращает соединение, используемое текущим объектом.

Настройка протокола прокси

Название
Описание
- setProtocolForProxy:
Задает методы, которые могут быть вызваны текущим объектом в виде протокола.

iOS7 иконки для OS X

iOS7 иконки для OS X + бонус - обои для рабочего стола.


Список иконок:

Automator
Informations Système
Adobe BR.png
Aide-Memoire.png
Alfred.png
Any Send.png
Apple Script.png
Assistant Migration.png
Audio Switcher.png
Audio-Midi.png
Bluetooth.png
Bootcamp.png
Capture.png
Chess.png
CleanMyMac.png
Coktail.png
Colloquy.png
Colorimetre Numerique.png
Console.png
Crush FTP.png
Diskaid.png
Dropbox.png
Flac.png
Flavours.png
ForkLift.png
Geektool.png
GfxCardStatus.png
Grapher.png
Icon Slate.png
iConvert.png
iDefrag.png
iMenu.png
iSFV.png
iStats.png
iWatermark.png
Logitech.png
Nicecast.png
Permute.png
Photo Booth.png
QRcode.png
Record Audio Pro.png
Silverlight.png
Smultron.png
Sparrow.png
TinyUmbrella.png
Utilitaire AirPort.png
Utilitaire Raid.png
Utilitaire VoiceOver.png
XDJ-Aero.png
XLD.png


Скачать