Подтвердить что ты не робот

Как я могу увидеть значения объекта в NSLog?

Предположим, что у меня есть объект, содержащий некоторые данные.

Как я могу увидеть эти данные с помощью NSLog?

Если кто-то не знает о моем вопросе, то может снова спросить меня.

4b9b3361

Ответ 1

Если вы хотите увидеть объекты NSArray и NSDictionary и т.д., вы можете напрямую распечатать, как NSLog(@"%@",object);

Если это определенный пользователем объект, вам необходимо отобразить, вызвав его с помощью свойства (атрибута).

Пользовательский объект с именем и свойствами, такими как

NSString *property1;
int property2;
NSMutableArray *property3;

Распечатайте их в консоли следующим образом NSLog(@"%@, %d, %@" object.property1,object.property2,object.property3);

Привет,

Сатйа

Ответ 2

Если вы реализуете метод -(NSString*)description в своем классе, вы можете использовать NSLog для вывода сводки данных. Конечно, вы также можете напрямую выводить любое свойство.

Например:

NSLog (@"%@ %d", object, object.integer);

Первая часть вызывает метод description и выводит это; вторая часть получает значение целочисленного свойства объекта и выводит его.

Ответ 3

Каждый объект Objective-c (это происходит из NSObject) имеет свойство, называемое description. Поэтому, если вы хотите распечатать информацию о своем классе, это путь.

@implementation MyClass

- (NSString*)description
{
   return [NSString stringWithFormat:@"MyClass:%@", @"This is my class"];
}

поэтому, если вы выполните такой вызов.

MyClass *myClass = [[MyClass alloc] init];
NSLog(@"%@", myClass);
NSLog(@"%@", [myClass description]); //Same as the line above

Затем он напишет "MyClass:This is my class" на консоль (в этом случае он будет печатать дважды).

Ответ 4

Внедрить description данного класса.

-(NSString*)description
{ return [NSString stringWithFormat:@"<%@> name: `%@` size: `%@`", NSStringFromClass(self), self.name, NSStringFromCGSize(self.size)]; }

NSLog(@"%@", object); // <Object> name: `Harry` size: `{2, 2}`

Ответ 7

NSLog(@"My object data:%@",[myObj someData]);
NSLog(@"My object Other data:%@",[myObj someOtherData]);

Или напрямую:

NSLog(@"%@",myObj);
NSLog(@"Description:%@",[myObj description]);

Ответ 8

Кроме ответа Satya, если вы хотите видеть базовые типы данных c, используйте спецификаторы формата. Например,% d для целого числа:

NSLog (@"My integer:%d", myObject.myInteger);

Полный список находится здесь:

http://www.cplusplus.com/reference/clibrary/cstdio/printf/