Marc Charbonneau записал:
Имеют в виду, что "%d" будет только работать над 32 битами. Как только Вы начинаете использовать NSInteger для совместимости, если Вы когда-нибудь компилируете для платформы на 64 бита, необходимо использовать "%ld" в качестве спецификатора формата.
Интересный, спасибо за подсказку, я использовал "%d" с моим NSInteger
с!
документация SDK также рекомендует бросить NSInteger
к long
в этом случае (для соответствия "%ld"), например:
NSInteger i = 42;
label.text = [NSString stringWithFormat:@"%ld", (long)i];
Источник: Строковое Руководство по программированию для Какао - Спецификаторы Формата строки (Требует регистрации разработчика iPhone)
Это очень короткий ответ, который можно расширить до книги.
Нет, xsd.exe не может делать то, что вы хотите.
Однако вы можете использовать описанные методы в этой статье для доступа к классу XmlCodeExporter , который является частью платформы, генерирующей код из схем XML. Как только это будет сделано, у вас будет копия CodeDOM для сгенерированного кода в памяти. вы можете перебирать все классы в пространстве имен и устанавливать их как внутренние.
Возможно, для удаления этого предупреждения потребуется больше усилий, чем вам хотелось бы.
Другой способ удалить предупреждение - создать код в сборке, для которой отключены XML-документы (в конце концов, кому нужны документы для сгенерированного кода?)