#defineを考慮しない場合、objective-cプロジェクトで定数を宣言するための2つの悪名高い方法があります。
// Util.h
extern NSString * const MyConstant;
// Util.m
NSString * const MyConstant = @"value";
または他のヘッダーファイルに直接
// Util.h
static NSString *const MyConstant = @"value";
ここで、2つの質問があります。
1)どちらも機能しますが、値を編集する場所が1つしかないため、2番目の方法は非常に便利です。ただし、Apple .hファイルから見たように、最初の方法が常に優先され、静的な方法には欠点があるのではないかと思います。
2)Appleドキュメントを見ると、 NSTextInputContextKeyboardSelectionDidChangeNotificationのような非常に長い定数名に遭遇することがよくあります。そのような長い定数名を使用した場合、値を割り当てるために一般的にどのような規則を使用しますか。説明的なものを使用したい場合は、@ "nsTextInputContextKeyboardSelectionDidChangeNotification"を使用できますが、少し奇妙に聞こえます。