Поскольку NSLog
принимает NSString
в качестве аргумента, он использует спецификаторы формата NSString
. Это практически идентично общим printf
спецификаторам. Кроме того, спецификатор %@
не ограничен NSString
объектами, но предназначен для любых объектов Objective-C. Базовый класс NSObject
предоставляет общее описание объекта, состоящего из его класса и его адреса, но многие объекты будут предоставлять информацию, специфичную для их типа, такую как классы коллекций (NSArray
, NSDictionary
), которые будут предоставлять красиво форматированный сброс их содержимого. Вы можете предоставить это для своих собственных объектов, создавая переопределение -description
(дополнительную информацию см. В документации, включая возможность локализации).
См. Также: Спецификаторы формата NSString