19 июн. 2014 г.

Alex Skutarenko: Уроки SWIFT для iOS - 07. Массивы

"Как вы наверно знаете, Apple представила новый язык программирования SWIFT. Я буду стараться как можно быстрее освоить его сам и выложить видео уроки." - Алексей Скутаренко



18 июн. 2014 г.

Alex Skutarenko: Уроки SWIFT для iOS - 05. Строки. Часть 2

"Как вы наверно знаете, Apple представила новый язык программирования SWIFT. Я буду стараться как можно быстрее освоить его сам и выложить видео уроки." - Алексей Скутаренко



13 июн. 2014 г.

10 июн. 2014 г.

Перевод первой книги по языку Swift (в стадии перевода)

Перевод первой книги по языку Swift. Книга в стадии перевода, но где-то 30-40% переведено. Спасибо нашим соотечественникам за перевод. Прошу также поддержать комманду любыми способами: финансово, помочь в переводе, морально, распространением сайта. За любую помощь авторы сайта будут рады. Спасибо.

Alex Skutarenko: Уроки SWIFT для iOS - 05. Строки. Часть 1

"Как вы наверно знаете, Apple представила новый язык программирования SWIFT. Я буду стараться как можно быстрее освоить его сам и выложить видео уроки." - Алексей Скутаренко



9 июн. 2014 г.

8 июн. 2014 г.

7 июн. 2014 г.

Alex Skutarenko: Уроки SWIFT для iOS - 04. Операторы. Часть 3. Перегрузка

"Как вы наверно знаете, Apple представила новый язык программирования SWIFT. Я буду стараться как можно быстрее освоить его сам и выложить видео уроки." - Алексей Скутаренко



6 июн. 2014 г.

Alex Skutarenko: Уроки SWIFT для iOS - 03. Операторы. Часть 2. Битовые операции

"Как вы наверно знаете, Apple представила новый язык программирования SWIFT. Я буду стараться как можно быстрее освоить его сам и выложить видео уроки." - Алексей Скутаренко



5 июн. 2014 г.

Alex Skutarenko: Уроки SWIFT для iOS - 02. Операторы. Часть 1

"Как вы наверно знаете, Apple представила новый язык программирования SWIFT. Я буду стараться как можно быстрее освоить его сам и выложить видео уроки." - Алексей Скутаренко



4 июн. 2014 г.

Alex Skutarenko: Уроки SWIFT для iOS - 01. Основы

"Как вы наверно знаете, Apple представила новый язык программирования SWIFT. Я буду стараться как можно быстрее освоить его сам и выложить видео уроки. Вот сегодняшнее первое видео - жду ваших отзывов." - Алексей Скутаренко



3 июн. 2014 г.

Swift: Простой пример NSTableView (@Action)

Усложним предыдущий пример простым добавлением строк (Добавим кнопки):
Сделаем @Action на кнопки, и напишем такой код:

@IBAction func addDataToTableView(sender : NSButton) {
        
        tableArrayData.insert("New String", atIndex: 0)
        tableView.reloadData()
        
    }
    
    @IBAction func removeDataFromTableView(sender : NSButton) {
        
        if tableArrayData.count != 0 {
         
            tableArrayData.removeAtIndex(0)
            tableView.reloadData()
            
        }
        
    }

Получится вот так:


Swift: Простой пример NSTableView

Только что поюзав первый раз Xcode 6 Beta (запустил с третьего раза) по памяти наваял табличку. Скажу сразу что очень плохо работает автодополнение. Все делаем как и в предыдущих примерах по Cell-Based таблицах. Выделяем таблицу, делаем связку dataSource и delegate с AppDelegate. А дальше код:

import Cocoa

class AppDelegate: NSObject, NSApplicationDelegate, NSTableViewDataSource {
                            
    @IBOutlet var window: NSWindow
    @IBOutlet var tableView: NSTableView
    
    var tableArrayData = ["Dad", "Mom", "Son", "GrandMother", "Cat", "Bird", "Kakashka"]


    func applicationDidFinishLaunching(aNotification: NSNotification?) {
        // Insert code here to initialize your application
    }

    func applicationWillTerminate(aNotification: NSNotification?) {
        // Insert code here to tear down your application
    }

    func numberOfRowsInTableView(tableView: NSTableView!) -> Int    {
        
        return tableArrayData.count
    }
    
    func tableView(tableView: NSTableView!, objectValueForTableColumn tableColumn: NSTableColumn!, row: Int) -> AnyObject! {
        
        return tableArrayData[row]
    }

}

Apple представила новый-старый язык программирования Swift


Ну шо посоны, все. Опять по-новой. Опять с нуля. Опять недосыпанные ночи, психи из-за багов. Стив, вернись, очень прошу, Айв с Куком в край охуел. Это называется учишь-учишь, а потом хлоп и оно нахрен никому уже не нужно.

2 июн. 2014 г.

ORB OS X Icon Pack by Luke O'Sullivan


ORB OS X Icon Pack by Luke O'Sullivan

New:
- Activity Monitor
- Airport Utility
- Bluetooth (File Exchange)
- Chess (!)
- Chrome (from Frost for OS X)
- Dictionary
- Disk Utility
- DropBox
- iConvert Icons
- Adobe Illustrator
- Adobe InDesign
- Mission Control
- OS X
- Adobe Photoshop
- Skype
- Spotify
- System Info
- Time Machine
- VLC

Original:
- App Store
- iLife (iMovie x2, GarageBand x2, iPhoto)
- Calendar (x2)
- Citrix Receiver
- Contacts
- Dashboard
- FaceTime
- Finder
- Font Book *updated*
- iBooks (now x2) *updated*
- Image Capture
- iTunes (in blue and red)
- Keynote *updated*
- Launchpad
- Leap Motion
- Mail
- Maps
- Messages
- Notes
- Numbers
- Pages
- PhotoBooth
- Preview *updated*
- QuickTime (x2)
- Reminders
- Safari
- Settings (now x2) *updated*
- Terminal *updated*
- Text Edit *updated*

Cocoa Design Patterns


Cocoa Design Patterns is superb! It is highly readable, thoroughly enjoyable, and filled to the brim with wisdom that will make you a more efficient and effective programmer. The authors utilize a consistent and self-contained approach to each chapter, making it easy to return to use as a reference. However, the material is so interesting and vital to Cocoa programmers that you’ll want to read it from cover to cover.

Советы и Рекомендации: Протоколы

Бывает такая штука в протоколах как необязательные / опциональные методы @optional. При работе с объектами/классами, особенно в больших проектах, заведомо не знаешь реализован тот или иной необязательный метод в классе, например, другим разработчиком класса. При компиляции проекта, компилятор не укажет на это даже в варнингах (warnings). После запуска приложения и обработке входящих объектов, в которых из них не будет реализации опциональных методов, естественно приложение упадет. Для проверки реализации опционального метода в классе/объекте рекомендуется использовать селекторы, т.е. вся отвественность ложиться на разработчика:

[objectName respondToSelector:@selector(protocolMethodName)]

т.е. здесь мы проверяем реализован ли в объекте/классе objectName метод описанный в протоколе protocolMethodName. Результат булевый YES | NO.

Как узнать, использует ли объект/класс протокол (подключен ли протокол)?:

[objectName conformsToProtocol:@protocol(protocolName)]

Результат булевый YES | NO.