NSNumber выдавать ошибку - PullRequest
0 голосов
/ 10 мая 2011

Я не уверен, почему я получаю следующую ошибку: enter image description here

высота ни на что не жалуется, это только ширина ... почему?

Вот мой код:

@interface Embed : RKObject {
    NSString * _url;
    NSString * _original;
    NSNumber * _width;
    NSNumber * _height;
}

@property (nonatomic, retain) NSString * url;
@property (nonatomic, retain) NSString * original;
@property (nonatomic, retain) NSNumber * width;
@property (nonatomic, retain) NSNumber * height;

@end

@implementation Embed
@synthesize url = _url;
@synthesize original = _original;
@synthesize width = _width;
@synthesize height = _height;

+ (NSDictionary*) elementToPropertyMappings {
    return [NSDictionary dictionaryWithKeysAndObjects:
            @"url", @"url",
            @"original", @"original",
            @"width", @"width",
            @"height", @"height",
            nil]; 

}

- (void)dealloc
{
    [_url release];
    [_original release];
    [_width release];
    [_height release];
    [super dealloc];
}


@end

не уверен, почему это CGFloat, никогда не конвертируйте его в CGFloat где-либо еще

Ответы [ 2 ]

1 голос
/ 10 мая 2011

Сообщение об ошибке подразумевает, что оно считает, что сообщение 'width', отправленное на objectAtIndex:0, возвращает CGFloat, а не NSNumber.

Возможно, он сделал неверное предположение о том, что вы называете width, поэтому, если вы правильно определили свой объект, вам, вероятно, просто нужно дать компилятору правильный совет, например (разбито, чтобы было ясно, куда идет актерский состав):

[
    [
        (MyCorrectType *)[
                             [
                                 [postsObject objectAtIndex:indexPath.row]
                             embeds]
                         objectAtIndex:0] // cast goes with the result of this
    width]
floatValue]
0 голосов
/ 10 мая 2011

Едва заметная ошибка заставляет меня думать, что ваш метод -width возвращает CGFloat, а не NSNumber *.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...