OSX+swift3という開発においてつまづいたことを並べていこうという連載。 第一回としてまず一番最初につまづいたのがこれ。

OSXの情報が、少ないっ!

ネットでswift探すとちゃんと出てくるんですよ。 で、だいたいこの処理をやるには、このクラス使えって書いてあるんですよ。 でも動いてくれないんですね。

なぜならばOSXではUIxxxというクラスはまったく使えません。 こいつはiOS用の開発キット、UIKitってやつから呼び出されるものなので。 で、OSXではこれが使えずcocoaってので開発しないといけないのです。 XCode自体は同じなのですが、中身はずいぶんと違うのですよね。

結果的にネットに上がっているコードは基本的に動かないと思ってよいかと。

var label = UILabel(frame: CGRectMake(0, 0, 100, 20));
はい、動きません。
self.view.backgroundColor = UIColor.cyanColor()
はい、これも動きません。

基本的にNSxxxってのがあるのでそれを使えば良いのですが。 というか元々NSxxxってのを拡張してUIxxxにしたわけなので。

UIViewControllerだったらNSViewControllerとか。 UITextViewだったらNSTextViewとか。

それで動いてくれるとまあとりあえずは嬉しいです。 が、そうもいかないのも多くて困る。

swift ブラウザ 起動とかで検索してみるとどれもこれも

UIApplication.sharedApplication().canOpenURL(url!)

とか書かれててムキー、と。 実際はこう。

let url = NSURL(string: "https://example.com")
NSWorkspace.shared().open(url as! URL)
はい、見ての通り全然違います。

そんなわけで、そのうちイライラしてきますので、ストレスに負けないようにがんばってくださいね。

はじめに
第1回「ぐぐって出てくるのはどれもこれもiOS」
第2回「インスタンスがコピーされる」
第3回「初期化しないメンバ変数なんて許しません」
第4回「NSStringとString、NSURLとUrl」
第5回「for文が、++が、、、」
第6回「ビルドおもーい」
第7回「do、try、catch」
第8回「swift2では動くのにswift3では動かない」
第9回「ふおおWindowsFormみたい」
第10回「Labelの値を変える」
第11回「windowControllerとViewControllerとView」
第12回「ボタンはViewController、メニューはDelegate」
第13回「TreeViewのしんどさ」
第14回「¥nマークは改行しません」
第15回「instantiateじゃ駄目ぇ」
第16回「ScrollViewの中にTextView」
第17回「ファイルをどう読み書きすればいいんじゃ」
第18回「右クリック・・・」
第19回「isIntなんて無いです」
第20回「anyはswitchでキャスト」
第21回「MessageBox.Show」
第22回「BezierはViewの中で」
第23回「512pxのアイコンを用意せよ」
第24回「アーカイブ作成」
第25回「これから始める人へ」