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

Objective C переопределяет% @для пользовательских объектов

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

Например:

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

Будет распечатан:

This is my object: <MyObject: 0x4324234>

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

Ура! Ник.

4b9b3361

Ответ 1

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

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

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

Ответ 2

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