›Objective-CObjective-CのクラスプレフィックスはキャメルケースにするべきではないかAppleのCocoa向け公式文章にはObjective-Cのクラス名に使用するプレフィックスを全て大文字にするよう書かれています。個人でライブラリを作成する際にはそれらが問題になることがあります。名前衝突の問題NSをクラスプレフィックスに採用している開発者はNSStringというクラスを作ることが出来ないのです。Cocoaライブラリには既にNSStringというクラスが存在するためです。NSLoaderという自作クラスを作っても、今後Appleが同名のクラスを追加する可能性だって無きにしもあらずです。(MapKit)等のクラスプレフィックスが存在します。今後登場されるライブラリのクラスプレフィックスが、自身のものと被ってしまう恐れもあります。ちなみにAppleは3文字プレフィックスの利用も容認しています。それを利用したいと思う人は少数だと思います。NSNStringなんて読みづらいクラス名は嫌ですよね。そもそもAppleのライブラリにも3文字プリフィックスは存在します。結局Objective-Cに名前空間の概念が存在しない以上、名前衝突の問題からは逃れられないのです。思い切ってキャメルケースにしてみるそこでクラスプレフィックスにキャメルケースを使おうという発想に行き着きます。プレフィックスをNSでは無くNsにするわけです。コンパイラ側ではNSStringとNsStringは別物として解釈されます。この方法であれば既存クラスや今後追加されるクラスとの名前衝突を気にする必要はなることでしょう。これでもう名前衝突の恐怖に怯える必要はありません。この記法によってプレフィックスと機能名の区切りが視覚的に明瞭になるというメリットも得られます。時と場合によってはこういう型破りなコーディング規約も必要なのではないでしょうか。注意Appleはキャメルケースの接頭辞を推奨していませんので、現場で採用する際は慎重に。いつでも名前の一括変換が出来るように、クラス名の文字列化にはNSStringFromClassを使うようにしましょう。