書名:「Cocoa Scripting Course Volume #2 NSArray」
著者:Takaaki Naganoya(Piyomaru Software)
ページ数:247
フォーマット:PDF+Zipアーカイブ(791本)
特別特典:
Script Debuggerの15%割引購入コード入り
購入後3か月まで、本書の内容で理解できない箇所について補足説明します
内容:
macOSのAPIであるCocoaをAppleScriptから利用し、macOSの持つ強力な機能をアプリケーションの補助なしに直接呼び出せる「Cocoa Scripting」は、日々の業務やデータ処理に、たいへん強力な武器になります。
この、Cocoa Scriptingについてはとくに日本語の書籍が存在しておらず、これまでは「Xcodeの使い方、GUIの作り方、各メソッドの使い方….」といった、体系がまったく異なるObjective-Cの入門書で断片的に情報を得ることしかできませんでした。
本書は、Cocoa APIの使い方をAppleScriptに合わせて解説。とくに、Objective-C/Swift入門書にある膨大な「Xcodeの使いこなし」部分は覚える必要はありません。図を中心に説明することで、難解な概念を理解しやすく解説します。
構成:
Cocoa Scriptingについての解説部分、各巻で個別の説明部分、そして対象のCocoa APIを利用したサンプルScriptアーカイブから構成されます。
巻末には、理解度を確認するためのテストが用意され、筆者に回答を送ると採点を実施。合格点(80点)を取った方には「修了証明書」を発行(PDF形式)。
目次:
1章
Cocoa Scriptingの概要
Cocoa Scriptingってどういうもの?
Cocoa Scriptingの実際
Cocoa Scriptingの威力
Cocoa Scriptingのメリット
Cocoa Scriptingに必要なもの
Cocoa Scriptingまとめ
Cocoa Scripting9つの誓い
Cocoa Scriptingに適したmacOSについて
Cocoa Scripting環境の進化の歴史
Cocoa Scriptable macOS
参考資料:AppleScriptランタイム環境情報
Cocoa Scripting環境ごとの挙動の違い
SIP解除の是非
プログラミングスタイル
開発・実行環境のちがい
処理手順の違い
メインスレッド実行が必須な機能のScripting
delegation, notification
実行スタイルの違いによる書き換え
AppleScriptでCocoaオブジェクトを呼び出すと…
サブルーチン記述
オブジェクト階層を示すmyとme
クラス拡張
高速なCocoa Scriptを書くためには
アプリケーションとのやりとり
暗黙の型変換
一部のコマンドで書き換えが必要
計算の優先順位を示すカッコを修正
オブジェクトの数え方
情報の調べ方
Cocoa Scriptingを行う際の調べ方
Appleのオンラインドキュメント
Xcodeでヘッダーファイルを「素早く開く」
ヘッダーファイルの歩き方
ヘッダーファイルの構成要素
Deprecatedな機能に遭遇した場合
Enum(定数)の記載パターン
AppleScriptの数値表現幅を超えるEnum(定数)
2章
Cocoa Scriptを実際に動かす
Script Editor/Script Debuggerを起動
Cocoa Scriptを実行
Cocoa Objectのログを表示
Cocoa Scriptの書類を保存
Cocoa Scriptのエクスポート形式
Objective-CのCocoa呼び出し記述をAppleScript記述に翻訳する
Cocoa Script(AppleScriptObjC)の構成
Cocoaクラス名のAppleScript内での表記
Objective-Cの各種データ表記書き換え
Cocoaメソッド名の大文字小文字指定
Cocoaメソッド名の変換
基礎的なCocoaオブジェクト解説
メソッド呼び出し時のパラメータ
NSString(文字列)
NSArray(配列)
NSDictionary(辞書)
Number(数値)
Enum(定数)
nil
NSObject
Cocoa Scriptingの特徴的な動き
AppleScriptとCocoa間のオブジェクト変換
AppleScriptオブジェクトに対応するCocoaクラス
配列関連のCocoaクラス
レコード関連のCocoaクラス
文字列関連のCocoaクラス
日付関連のCocoaクラス
File Path関連オブジェクト
File Path関連オブジェクト変換方法
画像関連Cocoaオブジェクト
ファイルパス文字列(NSString)関連(1/2)
ファイルパス文字列(NSString)関連(2/2)
URL関連
Remote URL文字列関連(1/2)
Remote URL文字列関連(2/2)
Local File URL文字列関連(1/2)
配列関連
Dictionary関連
NSString文字エンコーディング関連
Color関連
HTML関連
Cocoa Object同士の変換、生成
NSData
Styled String(1/2)
Styled String(2/2)
2次元座標データ
1次元座標系データ
言語、Locale系データ
有用なCocoaオブジェクト(抜粋)
3章
NSArrayの位置付けと役割
用途別のフレームワークを知ろう
NSArray / NSMutableArray
NSArrayのつかいどころ
NSArrayでよく行う処理
NSArrayのメソッドの返り値を使う
list, NSArray, databaseの使い分け
【参考資料】巨大配列の作成ベンチマーク
NSArray Basic Samples
NSMutableArray Basic Samples
NSArrayのソート
1次元配列ソートのベンチマーク
NSArrayソートのメソッド別ベンチマーク
1D NSArrayのメソッド別ソート
2次元配列ソートのベンチマーク
2次元配列ソートのベンチマークプログラム
NSSortDescriptor
NSArrayからの抽出や計算
抽出を指定するNSPredicate
NSPredicateサンプル
NSArrayからKey Value Codingで計算
NSArrayを利用した高度な処理
順列組み合わせ計算
配列同士の差分計算
1次元配列要素のシャッフル
数値文字列の計算
NSArrayの内容をもとにNSMutableArray作成
NSArrayの近似クラス
「集合」クラス
NSSet/NSMutableSet 集合
NSIndexSet 連番
NSCountedSet ヒストグラム集計
NSCountedSet 重複項目のリストアップ
NSOrderedSet 並べかえしつつユニーク化
「矩形」クラス
NSRectの3通りの作り方
NSRectの便利な計算機能
添付サンプルScript紹介
配列系サンプルScript集
NSArray
座標情報、bounds、rect、point、range
言語環境、Locale関連、Text To Speech、Input Method
日付、時刻、date関連
AppleScript書類自体の処理
資料編
Cocoa Scripting関連のAppleScript命令
AppleScript予約語一覧
use
on, to
as
anything
property
Cocoa ScriptingとScript Object
Cocoa ScriptingとScript Object(Script文)
Script Object内でCocoa Scriptingを行う
Handlerの間接呼び出し
AppleScript Droplet
セキュリティ制限を回避するDropletの書き方
サードパーティ製FrameworkやAppleScript Librariesを呼ぶ
Script BundleにFramework / AppleScript Librariesを入れる
Shane StanleyのScript Toolの変遷
Shane StanleyのScript Libraries
Piyomaru SoftwareのScript Libraries
AppleScriptから呼べる主要Framework
AppleScriptから呼んだことのあるOS Framework
各macOSのFrameworkの変化
AppleScript mini reference
macOS搭載 AppleScript関連ドキュメント
AppleScript関連の情報源
macOSバージョンとAppleScriptの動向
macOSとAppleScriptの要素技術史
各macOSごとのAppleScript解説(1/4)
macOS内AppleScript補助ツールの歴史
System EventsのAppleScript用語辞書変更点
AppleScript 各ランタイム環境情報
AppleScript 関連ツール
Cocoa Scripting 関連ツール
理解度確認テスト