UIViews交互的大菜鳥需要幫助理解的事情。存儲內的NSMutableArray
我有存儲裏面的NSMutableArray
lanes = [[NSMutableArray arrayWithCapacity:3] retain];
- (void)registerLane:(Lane*)lane {
NSLog (@"registering lane:%i",lane);
[lanes addObject:lane];
}
中的NSLog我看到三個UIViews:註冊車道:89183264
中的NSLog(89183264)所顯示的數值是我追求的。 我希望能夠保存這個數字在一個變量,以便能夠在代碼的其他地方重複使用。
我能想出是最接近這個:
NSString *lane0 = [lanes objectAtIndex:0];
NSString *description0 = [lane0 description];
NSLog (@"description0:%@",description0);
的問題是,description0獲得了整個的UIView對象,不只是單一的數字(DEC 89183264是十六進制0x550d420)
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號喜歡的東西:
NSInteger * mylane = lane.id;
or
NSInteger * mylane = lane;
謝謝大家
我試圖以某種方式識別UIView,然後在代碼中比較它們是否相同。當我做NSLog時(@「註冊車道:%i」,車道);我在NSLog輸出中獲得了89183264。對我來說這是一個獨特的數字,告訴我它是哪個UIView。我也有.tag分配。那麼我會如何將.tag值保存在一個變量中呢?它比內存位置值更容易嗎? – TrekOnTV2017 2011-01-21 05:35:18