Что такое Swift-эквивалент Java .toString() для печати состояния экземпляра класса?Быстрый эквивалент Java .toString()
ответ
description
Недвижимость является тем, что вы ищете. Это свойство, доступ к которому осуществляется при печати переменной, содержащей объект.
Вы можете добавить description
в свои ряды, приняв протокол CustomStringConvertible
, а затем используя свойство description
.
class MyClass: CustomStringConvertible {
var val = 17
public var description: String { return "MyClass: \(val)" }
}
let myobj = MyClass()
myobj.val = 12
print(myobj) // "MyClass: 12"
description
также используется при вызове String
конструктора:
let str = String(myobj) // str == "MyClass: 12"
Это рекомендуемый метод доступа описания экземпляра (в отличие от myobj.description
, который не будет работать, если класс не Внедрение CustomStringConvertible
)
Как насчет 'String (obj)'? – nielsbot
Существует также '.debugDescription' для более удобной для программистов версии – nielsbot
применительно к структурам? – lmiguelvargasf
Вы должны использовать String(obj)
.
Напрямую от the documentation for CustomStringConvertible:
ПРИМЕЧАНИЕ
String (экземпляр) будет работать для экземпляра любого типа, возвращая его описание если экземпляр случается CustomStringConvertible. Использование CustomStringConvertible в качестве общего ограничения или непосредственное обращение к описанию соответствующего типапоэтому не рекомендуется.
Похоже, что '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' –
Если можно использовать структуру вместо класса, то ничего не нужно делать.
структура просто печатает отлично себя выход
print("\(yourStructInstance)")
или с классом, как это:
print(String(describing: yourClassInstance))
- 1. toString() эквивалент в OCaml
- 2. PHP Эквивалент sha1.toString (CryptoJS.enc.Base64)
- 3. Более быстрый эквивалент workheetfunction.Clean
- 4. Быстрый эквивалент each_slice
- 5. Java 8 Дата/время API-эквивалент 'new Date(). ToString()'
- 6. быстрый apply_along_axis эквивалент в Julia
- 7. Быстрый эквивалент для (__bridge NSArray *)
- 8. Что такое быстрый эквивалент UIGestureRecognizerStateEnded?
- 9. Быстрый эквивалент для php's openssl_encrypt?
- 10. Что такое эквивалент ToString ("00") в C++?
- 11. Эквивалент toString() в Eclipse для отладки GDB
- 12. javascript эквивалент join() и toString() в C#?
- 13. Быстрый эквивалент для Java indexOf и lastIndexOf строки
- 14. Метод Java toString()
- 15. toString Override в Java
- 16. Пользовательский toString() в java
- 17. Форматирование ToString Java
- 18. Java: enum toString()
- 19. Java символ [] ToString
- 20. Java toString не работает
- 21. Java toString Issue
- 22. Вопросы о toString java
- 23. Java - ToString Split
- 24. Java (toString and Constructors)
- 25. Java toString method difference
- 26. Node array toString Java
- 27. java toString представление
- 28. Set Iterator toString - JAVA
- 29. toString() С рекурсией Java
- 30. Метод Java toString (объекты)
Больше информации @ http://stackoverflow.com/questions/24068506/how-can- i-change-the-textual-presentation-display-for-a-type-in-swift –