Цель C переопределить% @ для пользовательских объектов - PullRequest
18 голосов
/ 27 мая 2010

Я бы хотел переопределить функцию печати по умолчанию в NSLog для пользовательских объектов;

Например:

MyObject *myObject = [[MyObject alloc] init];
NSLog(@"This is my object: %@", myObjcet);

Распечатает:

This is my object: <MyObject: 0x4324234>

Есть ли в MyObject функция, которую я переопределяю для распечатки более симпатичного описания?

Ура! Ник.

Ответы [ 2 ]

53 голосов
/ 27 мая 2010

Просто реализуйте метод description.

- (NSString *)description {
     return @"MyCustomDescription";
}

Этот метод используется для печати экземпляра.

7 голосов
/ 27 мая 2010

Переопределить -description в вашем пользовательском классе.

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