Описание NSDATA возвращает ноль

NSData описание возвращает nil и делает NSData объект nil. Мой код перестал работать, и я хотел бы, чтобы он снова работал.

Если я скомпилирую свой код в Xcode 10, он получит описание NSData в порядке. Но если я использую Xcode 11, это даст мне ноль в качестве описания, а также сделает NSData ноль. Я в замешательстве, как это происходит. Это потому, что это все еще бета-версия? Это нормально в бета-версиях? Я просто хочу убедиться, что мой код все еще работает до выхода новой iOS 13 и iPAD OS 13.

NSString *result = [[data description] stringByReplacingOccurrencesOfString:@" " withString:@""];


person JC Castano    schedule 27.06.2019    source источник
comment
Вы не должны использовать description, вы должны правильно преобразовать данные в строку.   -  person Aaron Brager    schedule 27.06.2019
comment
Не рекомендуется использовать description, ни в коем случае. Apple может решить изменить вывод, и завтра она может напечатать <NSData: pointerAddress> <hexData> и сломать ваш код. Вместо этого посмотрите, как преобразовать NSData в шестнадцатеричную строку: stackoverflow.com/questions/1305225/ и т. д.   -  person Larme    schedule 27.06.2019
comment
Возможный дубликат лучший способ сериализовать NSData в шестнадцатеричный строка   -  person Larme    schedule 27.06.2019
comment
Я очень сомневаюсь, что вызов [data description] приводит к тому, что ваш объект NSData равен нулю. Я бы больше посмотрел, откуда вы получаете этот NSData, и установил точку останова сразу после создания вашего объекта NSData, чтобы убедиться, что он действительно существует, и если он не изучает, почему объект устанавливается равным нулю .   -  person tww0003    schedule 27.06.2019


Ответы (1)


См. https://twitter.com/steipete/status/1174111017900503040 — поведение iOS 13 (написано во время ГМ семян 2).

Как уже говорили другие, вы не должны использовать [описание NSData] таким образом.

person xaphod    schedule 18.09.2019