大きなnoobは物事を理解するのに役立ちます。登録レーン:NSMutableArray内に格納されたUIViewと対話する
私は私が見るのNSLogでNSMutableArrayの
lanes = [[NSMutableArray arrayWithCapacity:3] retain];
- (void)registerLane:(Lane*)lane {
NSLog (@"registering lane:%i",lane);
[lanes addObject:lane];
}
の内側に格納されている3つのUIViews持っ89183264
をのNSLog(89183264)に表示される値は、私が後だものです。 コード内の別の場所でコードを再利用できるように、その番号を変数に保存したいと考えています。
私が思い付くことができ、最も近いこのだった:問題はdescription0は全体のUIViewオブジェクトを取得するだけではなく、単一の数字(12月89183264が進0x550d420である)ということである
NSString *lane0 = [lanes objectAtIndex:0];
NSString *description0 = [lane0 description];
NSLog (@"description0:%@",description0);
description0のコンテンツ:
description0:<Lane: 0x550d420; frame = (127 0; 66 460); alpha = 0.5; opaque = NO; autoresize = RM+BM; tag = 2; layer = <CALayer: 0x550d350>>
私は何を得ることはありませんが、私はそう簡単でのNSLogで正しい小数点値を取得する理由ですが、NSMuからそれを取得することができないように見えます他の方法ではtableArray。私はここでいくつかの「基本的な知識」が欠けていると確信しています。誰かが時間をとってここで何が起こっているのかを説明していただければ幸いです。長い一日を勉強しています。
私のようなもので簡単に89183264番号を保存することができない理由:あなた私はあなたがビューのメモリ位置を保存したい理由としては本当に困惑しているすべての
と任意のint型の周りfaffing必要はありません - それは二つのポインタを比較何とかUIViewを識別しようとすると、後でコード内で同じものかどうかを比較します。私がNSLog(@ "レーンを登録しています:%i"、レーン)をします。私はNSLog出力で89183264を得ます。私には、それがどのUIViewであるかを示すユニークな数字です。私は.tagが割り当てられています。 .tag値を変数に保存するにはどうすればいいですか?それはメモリの場所の値より簡単ですか? – TrekOnTV2017
上記の例で私の更新された回答をご覧ください – lxt
ありがとうございます。私はそれに応じて自分のアプローチを再調整しています。 – TrekOnTV2017