2010-05-17 9 views
1

Impossible de se débarrasser d'un avertissement. L'avertissement est: 'UIImage' ne peut pas répondre à '-scaleToSize'xcode peut ne pas répondre à l'avertissement

au-dessus du MyViewController de @implmentation Je cette @implementation:

@implementation UIImage (scale) 

-(UIImage*)scaleToSize:(CGSize)size 

{ 
UIGraphicsBeginImageContext(size); 
[self drawInRect:CGRectMake(0, 0, size.width, size.height)]; 
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
return scaledImage; 
} 

@end 

Ensuite, je dois MyViewController la mise en œuvre

@implementation TodayNewsTableViewController 

@synthesize dataList; 

...... 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

{ 

    static NSString *MainNewsCellIdentifier = @"MainNewsCellIdentifier"; 

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: MainNewsCellIdentifier]; 

    if (cell == nil) { 

     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier: MainNewsCellIdentifier] autorelease]; 

    } 

    NSUInteger row = [indexPath row]; 

NSDictionary *stream = (NSDictionary *) [dataList objectAtIndex:row]; 

NSString *title = [stream valueForKey:@"title"]; 

if(! [title isKindOfClass:[NSString class]]) 

{ 

cell.textLabel.text = @""; 

} 

else 

{ 

cell.textLabel.text = title; 

} 

cell.textLabel.numberOfLines = 2; 
cell.textLabel.font =[UIFont systemFontOfSize:10]; 
cell.detailTextLabel.numberOfLines = 1; 
cell.detailTextLabel.font= [UIFont systemFontOfSize:8]; 
cell.detailTextLabel.text = [stream valueForKey:@"created"]; 

NSString *i = [NSString stringWithFormat:@"http://www.mywebsite.co.uk/images/%@", [stream valueForKey:@"image"]]; 


NSData *imageURL = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:i]]; 

UIImage *newsImage = [[UIImage alloc] initWithData:imageURL] ; 


UIImage *scaledImage = [newsImage scaleToSize:CGSizeMake(50.0f, 50.0f)]; // warning is appearing here. 

cell.imageView.image = scaledImage; 

[imageURL release]; 

[newsImage release]; 

    return cell; 
} 

Merci pour votre temps à l'avance.

Cadres

Répondre

2

Pour éviter ce compilateur d'avertissement doit « voir » votre déclaration de méthode personnalisée. Donc, vous devez mettre

@interface UIImage (scale) 

-(UIImage*)scaleToSize:(CGSize)size 

@end 

quelque part - soit dans le fichier d'en-tête correspondant, ou dans le même fichier de mise en œuvre si vous ne voulez pas que cette méthode soit accessible à l'extérieur fichier en cours.

Questions connexes