Мое понимание подобных printf строк формата - то, что можно снабдить префиксом любой спецификатор преобразования минимальную ширину поля. Это, кажется, не работает на Какао %@
спецификатор. Пример:
NSLog(@"'%5@'", @"foo");
NSLog(@"'%5s'", [@"foo" UTF8String]);
Вывод:
… 'foo'
… ' foo'
Действительно ли это - намеченное поведение?
% @ только для объекта objective-c. Таким образом, ширина поля будет недействительной, если объект не является NSString.
Я не знал, что% 5 @ отформатирован так же, как% @.
Спецификатор формата %@ просто заменяется описанием объекта. Он не делает никаких усечений или вставки.