큰 멍청한 것들을 이해하는 데 도움이 필요합니다. NSMutableArray 내부에 저장된 UIView와 상호 작용
나는 내가 보는 NSLog에있는 NSMutableArraylanes = [[NSMutableArray arrayWithCapacity:3] retain];
- (void)registerLane:(Lane*)lane {
NSLog (@"registering lane:%i",lane);
[lanes addObject:lane];
}
내부에 저장된 세 UIViews 있습니다 등록 차선 : 89183264
NSLog (89183264)에 표시되는 값이 난 후 나는 것입니다. 코드의 다른 부분에서 다시 사용할 수 있도록 변수에 해당 번호를 저장하고 싶습니다.
내가했다 가지고 올 수있는 가장 가까운이 :
NSString *lane0 = [lanes objectAtIndex:0];
NSString *description0 = [lane0 description];
NSLog (@"description0:%@",description0);
문제는 description0 전체 UIView의 개체 만이 아니라 하나의 숫자 (DEC 89183264 16 진수 0x550d420입니다)
description0의 내용을 얻을 수있다 : 나는 그렇게 쉽게 NSLog와 함께 올바른 진수 값을 얻을 수 있지만, NSMu에서 그것을 얻을 수없는 것 같다 이유
description0:<Lane: 0x550d420; frame = (127 0; 66 460); alpha = 0.5; opaque = NO; autoresize = RM+BM; tag = 2; layer = <CALayer: 0x550d350>>
내가 무엇을하지 않는 것은 다른 방법으로 tableArray. 나는 여기에 "기본 지식"이 부족하다는 것을 확신하며, 누군가가 시간을 들여 여기에서 무슨 일이 일어나고 있는지 설명 할 수 있다면 고맙겠습니다. 그래서 마침내 나아갈 수 있습니다. 공부하는 것이 긴 하루였습니다.
내가 좋아하는 뭔가 쉽게 89183264 번호를 저장 할 수없는 이유:
NSInteger * mylane = lane.id;
or
NSInteger * mylane = lane;
여러분 모두 감사합니다
및 int 타입으로 주위 faffing이 필요하지 않습니다 - 그것은 두 개의 포인터를 비교 어쨌든 UIView를 식별하려고 시도하고 나중에 코드에서 동일한 것이 맞는지 비교해보십시오. NSLog (@ "등록 레인 : % i", 차선); NSLog 출력에서 89183264를 얻습니다. 나에게 그것이 어떤 UIView인지 알려주는 고유 번호입니다. 또한 .tag가 할당되었습니다. .tag 값을 변수에 저장하는 방법은 무엇입니까? 그것은 메모리 위치 값보다 더 쉬운가요? – TrekOnTV2017
위의 예의 업데이트 된 답변보기 – lxt
감사합니다. 그에 따라 내 접근 방식을 다시 조정하고 있습니다. – TrekOnTV2017