Как получить доступ к значению объекта (оно всегда печатает адрес памяти) - PullRequest
0 голосов
/ 04 мая 2011

У меня есть следующий класс:

@interface TTFacebookPost : NSObject {
  NSDate*   _created;
  NSNumber* _postId;



}

@property (nonatomic, retain)   NSDate*   created;
@property (nonatomic, retain)   NSNumber* postId;


@end

И когда я пытаюсь получить доступ к postId в другом классе, он всегда получает адрес памяти или номер, который я не знаю, откуда он приходит:

TTFacebookPost *post = cell.userInfo;
NSLog(@"Post url is: %i", post.postId);

и результат:

 Post url is: 118538496

это число не сохраняется нигде в объекте, поэтому я не знаю, куда идет.

Вот как выглядитобъект в памяти:

enter image description here

спасибо!

Ответы [ 3 ]

2 голосов
/ 04 мая 2011

если это объект, который вы используете %@, чтобы получить результат метода -(NSString *)description.

Это обычно то, что вы хотите для отладки.Но обычно это не то, что вы хотите представить пользователю.Для этого вы бы использовали NSNumberFormatter .

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

Возможно, вам нужно что-то вроде NSLog (@ "URL-адрес записи:% @", post.postId);

0 голосов
/ 04 мая 2011
NSLog(@"Post url is: %f",[post.postId floatValue]);

ИЛИ

NSLog(@"Post url is: %d",[post.postId intValue]);

ИЛИ

NSLog(@"Post url is: %d",[post.postId boolValue]);

в зависимости от того, используете ли вы NSNumber для хранения чисел с плавающей запятой, int или логических значений.

...