NSTimer
is a great example of an over-verbose, outdated Objective-C API. To run a simple line of code after a delay, you need to write a lot of boilerplate crap.
How about this:
NSTimer.schedule(5.seconds) {
println("Hello world!")
}
// This will work: | |
var url: String | |
if condition { | |
url = "http://example.com" | |
} else { | |
url = "http://example.org" | |
} |
NSTimer
is a great example of an over-verbose, outdated Objective-C API. To run a simple line of code after a delay, you need to write a lot of boilerplate crap.
How about this:
NSTimer.schedule(5.seconds) {
println("Hello world!")
}
I enjoy making and playing with little DSL-ish extensions for Cocoa types in Swift. For instance, the code below allows me to write cool
storyboard.VC["foo_bar"]
storyboard.VC.initial
instead of:
require 'csv' | |
tweets = CSV.read('tweets.csv') | |
tweets.shift | |
stats = tweets | |
.reject { |t| t[5] =~ /^RT/ } | |
.group_by { |t| | |
date = Date.parse t[3] | |
"#{date.year}-#{date.month}" |
pl: | |
viewer: | |
comment_on_twitter: 'Skomentuj na Twitterze' | |
older: 'Starsze' | |
newer: 'Nowsze' | |
feed: 'Kanał' | |
share: 'Udostępnij' | |
close: 'Zamknij' | |
next_post: 'Następny wpis' | |
previous_post: 'Poprzedni wpis' |
# Usage: | |
# `yt http://www.youtube.com/watch?v=...` | |
# Downloads a video from youtube, extracts audio out of it and saves as a 256kbps mp3 in Downloads | |
# | |
# Requires youtube-dl and ffmpeg | |
# (OSX: just `brew install youtube-dl ffmpeg`) | |
yt () { | |
youtube-dl $1 -o ~/Downloads/%\(title\)s.%\(ext\)s -x --audio-format mp3 --audio-quality 256 | |
} |
tell application "Xcode" | |
activate | |
end tell | |
tell application "System Events" | |
tell application process "Xcode" | |
click menu item "Stop" of menu 1 of menu bar item "Product" of menu bar 1 | |
click menu item "Run" of menu 1 of menu bar item "Product" of menu bar 1 | |
end tell | |
end tell |
tell application "System Events" | |
tell application process "Safari" | |
click menu item 2 of menu 1 of menu item 4 of menu 1 of menu bar item "Develop" of menu bar 1 | |
end tell | |
end tell | |
tell application "Safari" | |
activate | |
end tell |
Pod::Spec.new do |s| | |
s.name = 'CocoaLumberjack' | |
s.version = '1.6.1' | |
s.license = 'BSD' | |
s.summary = 'A fast & simple, yet powerful & flexible logging framework for Mac and iOS.' | |
s.homepage = 'https://github.com/robbiehanson/CocoaLumberjack' | |
s.author = { 'Robbie Hanson' => '[email protected]' } | |
s.source = { :git => 'https://github.com/robbiehanson/CocoaLumberjack.git', | |
:commit => 'b5fbf2da1fa35f208683f9afa441b071cc621cd0' } |
#!/bin/zsh | |
osascript <<SCRIPT | |
tell application "Xcode" | |
activate | |
end tell | |
tell application "System Events" | |
tell application process "Xcode" | |
click menu item "Stop" of menu 1 of menu bar item "Product" of menu bar 1 |