私は2つのクラスを持っています。一つは、基本的には他のいくつかの修正を加えて、第二のと同じファイルを使用して作成されたが、彼らは特別に(このようなものを持っている)彼らの宣言ファイル...Xcode - 緑の変数x黒の変数
@protocol myClassDelegate <NSObject>
// delegate protocol definition
@end
@interface myClass : UIView {
id myObject;
UIView *oneView;
}
@property(nonatomic,assign) id<myClassDelegate> delegate;
@property(nonatomic,retain) UIView *oneView;
、その後にについては、基本的に同じであるI @synthesize oneView、delegateを持っている。 on。
表示されるコードは、両方のクラスに共通です。両方のクラスの実装インサイド
、私は例えば、数回の両方のオブジェクトを使用します。
[delegate doStuff]; // <-- do you see this blue delegate here? Xcode put it green when it is declared on .h first.
私の最初のクラスには、oneViewまたはデリゲートのすべての発生がXcodeので緑色で示され(下の画像を参照してください) 。 2番目のクラスでは、黒で表示されます。私は、一般的に、この緑色の単語は、変数が宣言で識別され、そのクラスの「グローバル」であることを認識しているとみなします。一般に黒の変数はローカルインスタンスを意味します。
質問は、これらの変数の1つが、私の意図なしに、割り当てられていないという問題を、黒で表示されているクラスに正確に割り当てていることです。
クラス内に(deallocを除いて)その変数はリリースされていませんが、アプリケーションの実行中に両方のクラスを使用して作成されたオブジェクトは常に存続します。
何が問題なのですか。事前に
感謝。
デリゲートのvarを解放してはいけません。これは、割り当てプロパティです。 – Felix
申し訳ありませんが、コードに誤字がありました。 oneViewはretainとして宣言されます。 AntこのoneViewは、あるクラスでは黒で、他のクラスでは緑で表示されます。私に問題を与えているクラスは、変数が黒であるクラスです。 – Roger