(совместимо с Swift 4) iOS 10+ и iOS < 10 решение (используя UIGraphicsImageRenderer
, если возможно, UIGraphicsGetImageFromCurrentImageContext
в противном случае)
/// Resizes an image
///
/// - Parameter newSize: New size
/// - Returns: Resized image
func scaled(to newSize: CGSize) -> UIImage {
let rect = CGRect(origin: .zero, size: newSize)
if #available(iOS 10, *) {
let renderer = UIGraphicsImageRenderer(size: newSize)
return renderer.image { _ in
self.draw(in: rect)
}
} else {
UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)
self.draw(in: rect)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage!
}
}
W3C определяет рекомендацию спецификации XML: http://www.w3.org/TR/REC-xml/
Поскольку вы сузили свой вопрос до форматирования XML, не существует "универсального" ответа на то, как следует форматировать ваш XML. Помимо соответствия любому DTD или схеме, с которой вы имеете дело, важность конкретного интервала / отступа ваших тегов лежит на людях, которые будут иметь дело с вашими данными.
Если вы создаете XML-данные для отправки через сеть как часть веб-службы или какой-либо другой, то обычно вам нужно удалить все ненужные пробелы перед передачей, чтобы оптимизировать скорость передачи данных. Это означает отсутствие разрывов строк, отступов и комментариев.
Если вы создаете XML-документ, который другие будут читать / изменять на регулярной основе, то, очевидно, вы ' Я хочу уделить внимание тому, чтобы документ оставался читабельным. Что считать «читабельным», определяется каждым, кто участвует в этой конкретной команде или проекте.
Что ж, я бы посоветовал взглянуть на
http://www.xfront.com/BestPracticesHomepage.html или результаты любого поиска Google в соответствии с передовыми методами XML.
] Я бы сказал, что стандарты включают ссылку на файл XSD, соответствующие escape-символы; и т. д. и т. д.
Существует одно справочное форматирование, XML Canonical , которое реализовано в таких инструментах, как xmllint (опция - c14n
). Таким образом, эти инструменты можно использовать в качестве хороших принтеров.
Но, конечно, вы не обязаны их использовать. Как и любые правила форматирования, это дело вкуса. Просто будьте последовательны.
Предлагаю вам взглянуть на XMLPatterns . Вы не найдете предложений по "стилю кодирования", но найдете интересные шаблоны проектирования (а-ля GangOfFour) для структуры XML-документа.
Что касается "стиля кодирования", я бы проверил примеры и попытался имитировать их. Если сомневаетесь, попробуйте разные стратегии и найдите ту, которая будет ясной и привлекательной. Мое мнение о вашем примере положительное. Однако могут возникнуть проблемы с именами тегов / атрибутов: строчные буквы без пробелов, строчные символы подчеркивания с пробелами, верблюжий регистр, верхний регистр верблюда?
http://en.wikipedia.org/wiki/XML
Посмотрите в разделе «Правильный формат»
Стандартов не так много, так как он должен быть очень гибким .