Objective-Cの通知(Notification)を解除するタイミング

通知を受け取る登録したら、removeObserverで解除するというのは当然なんだけど、そのタイミングをミスっててかなりハマった。
具体的には、通知を登録→ビューを削除→通知を解除→同じビューを作成、するとそのビューが通知を受け取っちゃってる。
その新しいビューも通知登録するから、メソッドが複数回同時に呼ばれた。
んでその中でNSURLクラス使ったんだけど、呼んでないはずのinitFileURLWithPath:メソッドがエラーだとデバッガに出てきた。
原因わかんねぇぇぇぇとなってたところで通知じゃね?と気づいた。

ARCを使っててビューの解放を任せてたのが失敗だった。
removeFromSuperViewメソッドを使った時点でdeallocが呼ばれるものだと思ってたから、そこで通知を解除してた。
でも実際は呼ばれてなかったので、viewWillDisappear:で解除するようにしたらうまくいった。

備忘録です。

1passwordを使ってみた

iPhoneの85円くらいのパスワード管理アプリでいろんなWebサイト、無線LAN、銀行とかクレジットカードの情報とかを管理してる。
バックアップとして、WindowsのOpen OfficeのExcelみたいなやつに、手動で表を打ち込んでる。
それがめんどうになってきたんで、Windows、Mac、iOSで同期できるパスワード管理アプリを探してみた。

続きを読む

IMAPとPOP3の使いどころを理解した気がする

どちらもメール用のプロトコルで、それぞれの意味はなんとなくは知ってた。
でもどう使い分ければいいのか知らんかったから、メーラーはデフォルトで設定してた。

iOS:IMAP
Thunderbird(PC):POP3

今更調べてみて、なんとなく違いがわかったから設定を変えた。

続きを読む