swift3+OSX開発格闘記第16回「ScrollViewの中にTextView」

Author:

NSScrollViewにテキストを入れようとしているけど、何故かうまくいかない。
あれー?あれー?とやっていてよく見ると、NSScrollViewの中にTextViewがラッピングされていて、そっちにTextを設定しないといけないという。
普通にNSScrollViewの参照を用意してちゃ駄目ということだ。
もちろん中にあるTextViewをViewControllerに設定すれば普通に設定できます。
むぅ。

こういうことこのswiftは多いんですよね。
普通に継承されていて継承先のデータを変えればOK、というわけにはいかないのがswiftらしさ。
NSScrollView.Text = なんて書き方できないのでご注意を。

とりあえずよく分からなかったら下にsubviewが無いか確認するといいかもしれないです。

第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回「これから始める人へ」

swift3+OSX開発格闘記第15回「instantiateじゃ駄目ぇ」

Author:

AppDelegateからViewControllerの関数を呼ぼうとする時、
うっかりstoryboard.instantiateViewControllerWithIdentifierなんて使うと困ったことになります。
これインスタンスを生成するので、既存のViewControllerとは違うインスタンスになってしまうのです。
ViewControllerIDとかあるから紛らわしいですよねえ。

Continue reading…

swift3+OSX開発格闘記第12回「ボタンはViewController、メニューはDelegate」

Author:

storyBoardってのは遷移先とか参照先をドラッグするのですけど、このドラッグ先が分かりづらい。
ボタンのクリックイベントとかを取得したい場合はViewControllerなのですが、メニューのクリックイベントはAppDelegateなのですよねえ。
非常にどれがどれにつながってるかわからないので、とりあえずドラッグできたほうが正しいのでしょうが。

Continue reading…

swift3+OSX開発格闘記第7回「do、try、catch」

Author:

どんな言語でもある例外処理、trycatch。
しかしswiftはtry catchじゃなくてdo try catchなのです。
他の言語やってきた人ならdoってwhileとくっつきそうな印象を受けてしまうし、
どうにも違和感が出てきてしまうけどまあそういうものらしいです。

Continue reading…

swift3+OSX開発格闘記第6回「ビルドおもーい」

Author:

swiftのビルド速度はイマイチ。
はっきり言って重いです。
すぐにSourcekitServiceとかいうものが200%とかなってしまいます。

というか、書き方によって非常に差が出る。
一行変な書き方するだけで10秒ビルド時間に差が出たりする。
特に暗黙的変換に非常に弱いのですよね。

で、書き方間違えて修正してもビルドエラーが消えるのに非常に時間がかかる。
下手するとリビルドしたほうが早かったり。

Continue reading…