diff --git a/Sources/AndroidXML/TblTableRef.swift b/Sources/AndroidXML/TblTableRef.swift index db5f2dc..f0820f2 100644 --- a/Sources/AndroidXML/TblTableRef.swift +++ b/Sources/AndroidXML/TblTableRef.swift @@ -13,6 +13,19 @@ public struct TblTableRef: CustomStringConvertible { self.ident = ident } + /// Convenience constructor for string-based references. + /// Must conform to format `"@PPTTEEEE"`. + /// Throws an exception if string does not starts with `"@"` or cannot resolve hex-string into `UInt32`. + public init(_ stringRef: String) throws { + guard stringRef.hasPrefix("@") else { + throw AXMLError("A table reference must start with @") + } + guard let idx = UInt32(stringRef[(stringRef.index(after: stringRef.startIndex))..