xcode可能无法响应警告

时间:2010-05-17 11:18:02

标签: xcode

似乎无法摆脱警告。警告是: 'UIImage'可能无法响应'-scaleToSize'

在@implmentation MyViewController之上

我有@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

然后我有MyViewController实现

@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;
}

感谢您的提前时间。

1 个答案:

答案 0 :(得分:2)

要避免此警告,编译器必须“看到”您的自定义方法声明。所以你应该把

@interface  UIImage (scale)

-(UIImage*)scaleToSize:(CGSize)size

@end

某处 - 要么对应相应的头文件,要么在同一个实现文件中,如果你不想在当前文件之外访问这个方法。