大きな初心者は、物事を理解するのに助けが必要です。
NSMutableArray 内に 3 つの UIView が格納されています
lanes = [[NSMutableArray arrayWithCapacity:3] retain];
- (void)registerLane:(Lane*)lane {
NSLog (@"registering lane:%i",lane);
[lanes addObject:lane];
}
私が見るNSLogで:登録レーン:89183264
NSLog (89183264) に表示される値は、私が求めているものです。その数値を変数に保存して、コードの他の場所で再利用できるようにしたいと考えています。
私が思いついた最も近いものはこれでした:
NSString *lane0 = [lanes objectAtIndex:0];
NSString *description0 = [lane0 description];
NSLog (@"description0:%@",description0);
問題は、description0 が単一の数値だけでなく、UIView オブジェクト全体を取得することです (10 進数 89183264 は 16 進数 0x550d420 です)。
description0 の内容:
description0:<Lane: 0x550d420; frame = (127 0; 66 460); alpha = 0.5; opaque = NO; autoresize = RM+BM; tag = 2; layer = <CALayer: 0x550d350>>
私が得られないのは、NSLogを使用して正しい10進数値を簡単に取得できる理由ですが、他の方法ではNSMutableArrayから取得できないようです。ここで「基本的な知識」が欠けていると確信しています。誰かが時間をかけてここで何が起こっているのかを説明して、最終的に先に進むことができれば幸いです. 勉強するのは長い一日でした。
次のような方法で 89183264 番号を簡単に保存できないのはなぜですか。
NSInteger * mylane = lane.id;
or
NSInteger * mylane = lane;
皆さん、ありがとうございました