From 1a5d573a11de8f86bc86422c429c3a7f0a0afe05 Mon Sep 17 00:00:00 2001 From: relikd Date: Thu, 27 Nov 2025 17:42:50 +0100 Subject: [PATCH] feat: convenience init for string-based TblTableRef --- Sources/AndroidXML/TblTableRef.swift | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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))..