programing

Java와 String()의 신속한 동등성

telebox 2023. 8. 30. 21:34
반응형

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

반응형