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
задан Frames84 17 May 2010 в 11:18
поделиться

1 ответ

Чтобы избежать этого предупреждения, компилятор должен «видеть» объявление вашего пользовательского метода. Поэтому вы должны поместить

@interface  UIImage (scale)

-(UIImage*)scaleToSize:(CGSize)size

@end

где-нибудь - либо в соответствующий файл заголовка, либо в тот же файл реализации, если вы не хотите, чтобы этот метод был доступен за пределами текущего файла.

2
ответ дан 3 September 2019 в 00:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: