2011-04-19 62 views
0

我將嘗試使用下面的代碼無法獲取一個UIView

for(UIView *subView in cardsContainerView.subviews){ 

    NSNumber *viewTag = [NSNumber numberWithInt:subView.tag]; 
    NSLog(@"The subView tag is %d",viewTag); 
    if([[dataDict valueForKey:@"savedPositions"]containsObject:viewTag]){ 
     [tempArray addObject:viewTag]; 
     [self rearrangeView:subView and:subView]; 
    } 

但看到日誌報表我發現我的變量值後視圖標籤比較與其他標籤的準確的標記值沒有接近我以前給它的地方。 Theh標籤,我得到的是這種

89212864.

誰能幫助我知道這種現象的原因,請?

回答

0

viewTag是一個對象,如果你只是傳遞給NSLog的,將打印您的實例的ID(以整數的情況下),這是給你的奇怪的結果。你要問viewTag其整數值:

NSLog(@"The subView tag is %d", [viewTag intValue]); 
+0

oooh .....我是如何錯過這一個....感謝這麼多羅賓..我會記住這一點 – 2011-04-19 06:45:47

1
for(UIView *subView in cardsContainerView.subviews){ 

    NSNumber *viewTag = [NSNumber numberWithInt:subView.tag]; 
    NSLog(@"The subView tag is %d",[viewTag intValue]); 
    if([[dataDict valueForKey:@"savedPositions"]containsObject:viewTag]){ 
     [tempArray addObject:viewTag]; 
     [self rearrangeView:subView and:subView]; 
    } 

試試這個

+0

感謝的人...我希望它工作正常,現在... – 2011-04-19 06:46:39

+0

我擊敗羅賓·15秒的答案,但你接受了他的答案。沒問題,關心投票了嗎? – visakh7 2011-04-19 06:57:30

+0

嘿,抱歉老兄...我決定給你一個投票,但不知怎的,我忘了它....感謝提醒它的人...現在你可以檢查你的選票數....乾杯.. ... – 2011-04-19 10:40:07