だから私はココアプログラミングに本当に慣れていません。実際、私はMacプラットフォームにも非常に慣れていません。まだcontrol+左矢印が行の先頭に私を連れて行くという事実に慣れようとしています。
Ok:それで私はHillegassの本「CocoaProgramming(4thedition)」のチュートリアルを進めています。そこで、NSArrayControlerを使用してPersonのNSMutableArrayにバインドするドキュメントビューアプリの作成について説明する第9章に進みました。
チュートリアルでは、ドキュメントのサブクラスを作成し、NSMutableArrayポインターを追加する方法について説明しました。だから私は自由を取り、それを単なる従業員ではなくmEmployee'sと名付けました。
@interface RMDocument : NSDocument
{
NSMutableArray* mEmployees;
}
-(void) setmEmployees:(NSMutableArray*)a;
-(void) insertObject:(Person*)p inEmployeesAtIndex:(NSUInteger)index;
-(void) removeObjectFromEmployeesAtIndex:(NSUInteger)index;
-(void) startObservingPerson:(Person*) person;
-(void) stopObservingPerson:(Person*) person;
@end
これを行ったとき、NSArrayControllerのバインディングが壊れたようです。したがって、setEmployee、insertObject、removeObjectなどのメソッドは呼び出されませんでした。
今でもObjective-Cはまだ初めてですが、mEmployeeは「RMDocument」インターフェイスの内部メンバー変数であり、好きな名前を付けることができると思いました。他の変数名(C ++の同様のメンバー変数の種類)と区別するために、名前の前に「m」を付けたいと思いました。どうやらそれは大したことではありませんでした。
では、なぜ変数名がこれほど大きな影響を与えたのでしょうか。
プロジェクトのソース全体を https://www.dropbox.com/sh/fq166ap3xzlw5xc/EZJXqIZPRY/RaiseManに配置しました。
ありがとう!