2012-07-05 56 views
0

我在我的應用程序的底部有一個區域,顯示自定義的橫幅圖片從XML提要看起來像這樣:顯示一些自定義廣告橫幅

<sponsor><image>image1.jpg</image></sponsor> 
<sponsor><image>image2.jpg</image></sponsor> 
<sponsor><image></image></sponsor>//image node is empty 
<sponsor><image></image></sponsor>//image node is empty 
<sponsor><image>image3.jpg</image></sponsor> 
<sponsor><image>image4.jpg</image></sponsor> 

我曾在一個數組分析這些圖像隨時更改橫幅廣告,並應重複相同的週期。

現在我將這些圖像顯示在顯示區域,並且在<image>節點中沒有內容時該區域變爲空白。我需要的是跳過空的<image>節點並顯示帶有圖像的節點內容。

我用這下面的代碼:

我有一個橫幅對象:

bannerObj.m

@implementation bannerObj 

@synthesize url,index; 

@end 

此方法在我HomepageViewController.m存儲陣列象下面這樣:

- (void)processCompleted{ 

NSMutableArray *bannerArray=[[self sponsorrssParser]sponsorrssItems]; 
banArray=[[NSMutableArray alloc]init]; 
bannerObj *bannObj = [[bannerObj alloc]init]; 


NSString *bannerImagestr; 
for(int i=0; i<[bannerArray count]; i++){ 
    bannerImagestr = [[bannerArray objectAtIndex:i] BannerImage]; 

    NSLog(@"banner image str-------->>> %@",bannerImagestr); 

    if(bannerImagestr != nil){ 

    bannerImagestr = [ bannerImagestr stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]; 

    NSURL *url = [NSURL URLWithString:bannerImagestr]; 
    NSData *data = [NSData dataWithContentsOfURL:url]; 

    img = [[[UIImage alloc] initWithData:data] autorelease]; 
     bannObj.url = img; 
     bannObj.index = i; 

    [banArray addObject:bannObj]; 

     NSLog(@"banner array---->>>%@",banArray); 

    } 
} 

[spinner stopAnimating]; 
} 

並且這是一種在該區域上設置圖像的目標方法。

-(void) targetMethod:(id) sender { 


int countOfBanners=[banArray count]; 

NSLog(@"count of banners ----->> %d",countOfBanners); 
if(numTimerTicks< countOfBanners) 
{ 

    roundedButtonType.tag = [[banArray objectAtIndex:numTimerTicks]index]; 
    [roundedButtonType setBackgroundImage:[[banArray objectAtIndex:numTimerTicks]url]forState:UIControlStateNormal]; //sets the background Image 
    numTimerTicks++; 

} 
else{ 
    numTimerTicks=0; 
} 

NSLog(@"count of timer ticks ----->> %d",numTimerTicks); 
} 

這設置了Feed中的最後一張圖片,我無法顯示其他橫幅圖片。有人能幫我解決嗎?

回答

0

糟糕!我應該在for循環裏面撥打bannerObj *bannObj = [[bannerObj alloc]init]; ..:D 我的不好..:P