Skip to content

Instantly share code, notes, and snippets.

@c9iim
c9iim / protocol-extension-struct-example.swift
Created August 14, 2015 23:20
ユーザー定義に依存したプロトコル拡張例。依存部分の初期設定は拡張外の責務。
//: ユーザー定義に依存したプロトコル拡張例。依存部分の初期設定は拡張外の責務。
protocol FooSpec {
var fizz : Int { get }
func buzz() -> Int
}
extension FooSpec {
func buzz() -> Int {
return fizz * 2
import Cocoa
protocol AXUIWindow {
var title : String { get }
var size : NSSize { get set }
var origin: NSPoint{ get set }
var frame : NSRect { get set }
}
protocol AXUIWindowArray {
@c9iim
c9iim / AXUIElement_in_Swift_pert2.swift
Last active December 16, 2017 23:40
AXUIElement in Swift pert2
import Cocoa
extension NSWorkspace {
class func frontmostApp() -> NSRunningApplication? {
return self.sharedWorkspace().frontmostApplication
}
class func runningApp(bundleIdentifier:NSString) -> NSRunningApplication? {
let runningApplications = NSWorkspace.sharedWorkspace().runningApplications
return runningApplications.filter({$0.bundleIdentifier == bundleIdentifier}).first
}
@c9iim
c9iim / AXUIElement_in_Swift.swift
Last active May 9, 2023 07:45
AXUIElement in Swift
import Cocoa
protocol AXUIProtocol {
func AXUIWindowArray(processIdentifier pid:pid_t) -> [AXUIElement]
func AXUIWindowArray(bundleIdentifier bid:NSString) -> [AXUIElement]
}
extension AXUIProtocol {
func AXUIWindowArray(processIdentifier pid:pid_t) -> [AXUIElement] {
let windowList : UnsafeMutablePointer<AnyObject?> = UnsafeMutablePointer<AnyObject?>.alloc(1)

Swiftツアー

println("Hello, world!")

変数

varは変数 letは定数

AppleScriptを書く準備

OSXに最初からAppleScriptエディタという専用のエディタがインストールされています。コード補完や実行結果の表示など優れた機能を有していますのでこちらを使用することをおすすめ。アプリケーションフォルダのユーティリティの中にあります。

hello world

display dialog "hello world"
@c9iim
c9iim / minimal-app.swift
Last active November 15, 2015 19:49
コマンドプロンプトで「$ swift ./minimal-app.swift」とすれば実行可能。パッケージ化の手順は後で別途記述。
import Cocoa
// ApplicationDelegate
class ApplicationDelegate: NSObject, NSApplicationDelegate {
var window: NSWindow!
init(window: NSWindow) {
self.window = window
}
func applicationDidFinishLaunching(aNotification: NSNotification) {
// Insert code here to initialize your application