iOSエンジニアにモテるAPIを作るための3つのこと

最近、自分でobjective-cをちょこちょこ書いていて、API作る側もちょっと気をつけた方がいいなーと思ったことがありました。

それは、プロパティ名です。

1. "id"を使わない

objective-cにはid型があるので、プロパティ名でそのままidを使うとまぁややこしくなるから、APIで渡してあげる時もxxxIdにしてあげると、スッキリします。

2. "newXXX"を使わない

なんか、newXXXという変数を定義するとビルドすらできなくなってしまいます。

property's synthesized getter follows Cocoa naming convention for returning 'owned' objects

こんなエラーが出ます。

ここらへんに書いてありました。
http://stackoverflow.com/questions/6327448/semantic-issue-propertys-synthesized-getter-follows-cocoa-naming-convention-fo

  • new
  • alloc
  • copy
  • mutableCopy

これらを変数名の頭につけたらダメみたいです。
new以外は使ったこともないので、気にしなくてもいいと思いますが、newはたまに使うこともあったので、その度にiOS側は悩まされていたと思うと心が痛いです。

3. "description"を使わない

これは、iOSエンジニアに聞いたのですが、descriptionも煙たがられるみたいです。
descriptionなんて使わないことの方が少ないんじゃないか、ってぐらいしょっちゅうつけてました。

が、なんとNSObjectがデフォルトでdescriptionってメソッドを持っているとのこと!

http://iphone-tora.sakura.ne.jp/nsobject.html

toStringみたいな位置づけみたいです。
もっと早く教えてよ!!!!

まとめ

これらを気をつけると、iOSエンジニアがmodelオブジェクトとかを作る時に悩む必要が無くなるので、iOSエンジニアにモテること間違いありません。