2011-08-05 31 views
0

,當我使用此代碼: NSLog(@"- (void)connectionDidFinishLoading:(NSURLConnection *)%@", connection); [connection release];NSLog崩潰(@「BadgeY3:%@」,badgeY3);因爲EXC_BAD_ACCESS

NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; 
[responseData release]; 

NSDictionary *missionsDict = [responseString JSONValue]; 

/*NSArray *luckyNumbers = [json objectWithString:responseString error:&error];*/ 
NSLog(@"user Info array is: %@", missionsDict); 
// NSDictionary *array = [luckyNumbers1 objectForKey:@"data"]; 
NSDictionary *missionsData; 
missionsData = [missionsDict objectForKey:@"data"]; 
NSLog(@"missionsData is: %@", missionsData); 
NSEnumerator *inner = [missionsData objectEnumerator]; 
UIScrollView *missionsScroll; 
missionsScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
missionsScroll.contentSize = CGSizeMake(320, 1005); 
[self.view addSubview:missionsScroll]; 
id value; 
int badgeY1; 
int badgeY2; 
int badgeY3; 
badgeY1 = 121; 
badgeY2 = 161; 
badgeY3 = 150; 
while((value = [inner nextObject])) { 
    NSLog(@"progress is: %@", [value objectForKey:@"progress"]); 
    NSLog(@"user Info array is: %@", missionsDict); 
    NSLog(@"name is: %@",[value objectForKey:@"reward_definitions"]); 
    NSLog(@"missionsData is: %@", missionsData); 
    NSDictionary *moreData; 
    moreData = [value objectForKey:@"reward_definitions"]; 
    NSEnumerator *inner = [moreData objectEnumerator]; 
    id value2; 
    int badgeX; 
    badgeX = 10; 
    while((value2 = [inner nextObject])) { 
     UIProgressView *progressView; 
     NSLog(@"BadgeY3: %@", badgeY3); 
     progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(0, badgeY3, 320, 9)]; 
     float progressValue; 
     progressValue = ([[[value objectForKey:@"progress"] objectForKey:@"earned"] floatValue]/[[[value objectForKey:@"progress"] objectForKey:@"possible"] floatValue]); 
     NSLog(@"progressValue is: %f", progressValue); 
     [progressView setProgress:progressValue]; 
     [missionsScroll addSubview:progressView]; 
     UILabel *missionName; 
     missionName = [[UILabel alloc] initWithFrame:CGRectMake(20, badgeY1, 280, 25)]; 
     missionName.backgroundColor = [UIColor clearColor]; 
     missionName.textColor = [UIColor whiteColor]; 
     missionName.font = [UIFont fontWithName:@"Heiti TC" size:23.0]; 
     missionName.text = [value objectForKey:@"name"]; 
     [missionsScroll addSubview:missionName]; 
     NSLog(@"badgeY2 is: %i", badgeY2); 
     badgesScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, badgeY2, 318, 70)]; 
     badgesScroll.contentSize = CGSizeMake(320, 70); 
     [missionsScroll addSubview:badgesScroll]; 

     NSLog(@"Image URL is: %@", [value2 objectForKey:@"image_url"]); 
     NSURL *url1 = [NSURL URLWithString: [NSString stringWithFormat:@"%@", [value2 objectForKey:@"image_url"]]];    
     NSData *urlData1 = [NSData dataWithContentsOfURL:url1]; 
     UIImage *image1 = [UIImage imageWithData:urlData1]; 
     UIImageView *badge = [[UIImageView alloc] initWithImage:image1]; 
     [badge setFrame:CGRectMake(badgeX, -10, 70, 70)];    
     [badgesScroll addSubview:badge]; 
     [badge release]; 
     badgeCount = badgeCount+1; 
     badgeX = badgeX +80; 
    } 
    // NSLog(@"reward_definitions is: %@", [missionsData objectForKey:@"id"]); 
    //  NSLog(@"Image URL is: %@", [[value objectForKey:@"reward_definitions"] objectForKey:@"image_url"]); 
    //if ([array isKindOfClass:[NSDictionary class]]) { 
    badgeY1 = badgeY1 +100; 
    badgeY2 = badgeY2 +100; 
    badgeY3 = badgeY3 +100; 
    missionCount = missionCount+1; 
} 
for (int b; badgeCount > 4; b = b+1) { 
    [badgesScroll setContentSize:CGSizeMake(badgesScroll.contentSize.width+80, badgesScroll.contentSize.height)]; 
} 
for (int a; missionCount > 4; a = a+1) { 
    missionsScroll.contentSize = CGSizeMake(776, missionsScroll.contentSize.height+200); 
}` 

應用程序Crashs上NSLog(@"BadgeY3: %@", badgeY3);

回答

7

badgeY3不是一個對象引用而是一個int,你應該叫NSLog(@"BadgeY3: %i", badgeY3);解析這個int爲地址(因爲%@)導致EXC_BAD_ACCESS

相關問題