Java와 String()의 신속한 동등성
자바에 해당하는 Swift는 무엇입니까?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
)
클래스 대신 구조체를 사용할 수 있으면 추가 작업이 없습니다.
구조는 출력에 맞게 자체적으로 미세하게 인쇄합니다.
print("\(yourStructInstance)")
아니면 이런 수업으로:
print(String(describing: yourClassInstance))
사용해야 합니다.String(obj)
.
CustomStringConvertible에 대한 설명서에서 직접:
메모
문자열(인스턴스)은 모든 유형의 인스턴스에 대해 작동하며, 인스턴스가 CustomStringConvertible인 경우 설명을 반환합니다.따라서 CustomStringConvertible을 일반 제약 조건으로 사용하거나 적합한 유형의 설명에 직접 액세스하는 것이 좋습니다.
사용 방법NSObject
확장 수업
모델 클래스가 다음에서 확장된 경우NSObject
변수를 재정의해야 합니다.description
다음과 같이:
public override var description: String {
return "\n{\n index: \(self.index),\n"
+ " country: \(self.name),\n"
+ " isoCountryCode: \(self.isoCountryCode),\n"
+ " localeId: \(self.localeId),\n"
+ " flagImageName: \(self.flagImageName!)\n}"
}
당신은 여기 "CountryPicker iOS Swift 라이브러리"에서 수업 내에서 내가 어떻게 했는지 확인할 수 있습니다.
또는, 당신이 이해하기 쉽게 하기 위해, 당신의 수업과.description
방법은 다음과 같아야 합니다.
public class MyClass: NSObject {
public var memberAttribute = "I'm an attribute"
public override var description: String {
return "My Class member: \(self.memberAttribute)"
}
}
참고: Modal 클래스를 다음에서 확장하고 있으므로NSObject
당신의 수업이 준수할 필요는 없습니다.CustomStringConvertible
수업은 더 이상, 그리고 당신은 무시하고 있습니다.description
로부터의 변수.NSObject
계급 자체항상 기억하세요,CustomStringConvertible
이를 달성하기 위한 순수한 스위프트 방식이 대부분입니다.
언급URL : https://stackoverflow.com/questions/36587104/swift-equivalent-of-java-tostring
'programing' 카테고리의 다른 글
Java에서 다음 쿼리를 실행할 수 없습니다. (0) | 2023.08.30 |
---|---|
평균을 계산할 때 산술 오버플로를 제공하는 SQL Server (0) | 2023.08.30 |
'베이스에 대해 해결'하기 위해 거짓을 전달하는 것과 참을 전달하는 것의 차이점은 무엇입니까?NSURL 구성 요소 인스턴스를 초기화할 때 'URL'을 선택하시겠습니까? (0) | 2023.08.30 |
Microsoft Excel에서 두 날짜 간의 차이를 분 단위로 얻는 방법은 무엇입니까? (0) | 2023.08.30 |
xlsxwriter에서 워크시트 순서를 변경할 수 있습니까? (0) | 2023.08.25 |