19 июн. 2014 г.
18 июн. 2014 г.
13 июн. 2014 г.
10 июн. 2014 г.
Перевод первой книги по языку Swift (в стадии перевода)
Перевод первой книги по языку Swift. Книга в стадии перевода, но где-то 30-40% переведено. Спасибо нашим соотечественникам за перевод. Прошу также поддержать комманду любыми способами: финансово, помочь в переводе, морально, распространением сайта. За любую помощь авторы сайта будут рады. Спасибо.
9 июн. 2014 г.
8 июн. 2014 г.
6 июн. 2014 г.
4 июн. 2014 г.
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]
}
}
OS X 10.10 Yosemite DP1 Build 14A238x
OS X 10.10 Yosemite DP1 Build 14A238x - Новая операционная система для компьютеров Mac. Новый дизайн, новые функции.
2 июн. 2014 г.
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
- 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
- Maps
- Messages
- Notes
- Numbers
- Pages
- PhotoBooth
- Preview *updated*
- QuickTime (x2)
- Reminders
- Safari
- Settings (now x2) *updated*
- Terminal *updated*
- Text Edit *updated*
Alex Skutarenko: iOS Development Course Beginner - 30. UITableView Dynamic Cells
Видеоуроки от нашего соотечественника Алексея Скутаренко по программированию под мобильные устройства компании Apple.
Alex Skutarenko: iOS Development Course Beginner - 29. UITableView Static Cells
Видеоуроки от нашего соотечественника Алексея Скутаренко по программированию под мобильные устройства компании Apple.
Alex Skutarenko: iOS Development Course Beginner - 28. UITextField (Part 2)
Видеоуроки от нашего соотечественника Алексея Скутаренко по программированию под мобильные устройства компании Apple.
Alex Skutarenko: iOS Development Course Beginner - 27. UITextField (Part 1)
Видеоуроки от нашего соотечественника Алексея Скутаренко по программированию под мобильные устройства компании Apple.
Alex Skutarenko: iOS Development Course Beginner - 26. Controls
Видеоуроки от нашего соотечественника Алексея Скутаренко по программированию под мобильные устройства компании Apple.
Alex Skutarenko: iOS Development Course Beginner - 25. UIButton
Видеоуроки от нашего соотечественника Алексея Скутаренко по программированию под мобильные устройства компании Apple.
Alex Skutarenko: iOS Development Course Beginner - 24. UIView Drawings
Видеоуроки от нашего соотечественника Алексея Скутаренко по программированию под мобильные устройства компании Apple.
Alex Skutarenko: iOS Development Course Beginner - 23. Gestures
Видеоуроки от нашего соотечественника Алексея Скутаренко по программированию под мобильные устройства компании Apple.
Alex Skutarenko: iOS Development Course Beginner - 22. Touches. Simple Drag and Drop
Видеоуроки от нашего соотечественника Алексея Скутаренко по программированию под мобильные устройства компании Apple.
Alex Skutarenko: iOS Development Course Beginner - 21. UIView Animations
Видеоуроки от нашего соотечественника Алексея Скутаренко по программированию под мобильные устройства компании Apple.
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.
[objectName respondToSelector:@selector(protocolMethodName)]
т.е. здесь мы проверяем реализован ли в объекте/классе objectName метод описанный в протоколе protocolMethodName. Результат булевый YES | NO.
Как узнать, использует ли объект/класс протокол (подключен ли протокол)?:
[objectName conformsToProtocol:@protocol(protocolName)]
Результат булевый YES | NO.