Это должно быть просто - конечно, этот метод должен работать - но я думаю, что у меня какая-то проблема с двумя байтами к одному байту, я думаю.
Целькода заключается в создании строки из 0 символов определенной длины (10 минус количество цифр, которые будут прикреплены к концу).Это выглядит так:
const unichar zero = 0x0030;
NSString *zeroBuffer = [NSString stringWithCharacters:&zero length:(10 - [[NSString stringWithFormat:@"%i", photoID] length])];
Альтернативная вторая строка (приведение вещи по адресу и нулю):
NSString *zeroBuffer = [NSString stringWithCharacters:(unichar *)&zero length:(10 - [[NSString stringWithFormat:@"%i", photoID] length])];
0x0030 - это адрес цифры 0 вБазовая латинская часть таблицы Unicode.
Если photoID равен 123, я бы хотел, чтобы значение zeroBuffer было равно @ "0000000".То, что на самом деле заканчивается как ноль, а затем некоторые сумасшедшие юникодные символы вдоль строк (не уверен, как это покажет): 1011
1015 *
I 'Я предполагаю, что у меня есть данные, пересекающие границы символов или что-то в этом роде.Я временно переписал это как тупую подстроку, но похоже, что это будет более эффективно.
Что я делаю не так?