You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.4 KiB
47 lines
1.4 KiB
//
|
|
// PListReader.swift
|
|
// PadelClub
|
|
//
|
|
// Created by Laurent Morvillier on 06/05/2024.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
class PListReader {
|
|
|
|
static func dictionary(plist: String) -> [String: Any]? {
|
|
if let plistPath = Bundle.main.path(forResource: plist, ofType: "plist") {
|
|
// Read plist file into Data
|
|
if let plistData = FileManager.default.contents(atPath: plistPath) {
|
|
do {
|
|
// Deserialize plist data into a dictionary
|
|
if let plistDictionary = try PropertyListSerialization.propertyList(from: plistData, options: [], format: nil) as? [String: Any] {
|
|
return plistDictionary
|
|
}
|
|
} catch {
|
|
print("Error reading plist data: \(error)")
|
|
}
|
|
} else {
|
|
print("Failed to read plist file at path: \(plistPath)")
|
|
}
|
|
} else {
|
|
print("Plist file 'Data.plist' not found in bundle")
|
|
}
|
|
return nil
|
|
|
|
}
|
|
|
|
static func readString(plist: String, key: String) -> String? {
|
|
if let dictionary = self.dictionary(plist: plist) {
|
|
return dictionary[key] as? String
|
|
}
|
|
return nil
|
|
}
|
|
|
|
static func readBool(plist: String, key: String) -> Bool? {
|
|
if let dictionary = self.dictionary(plist: plist) {
|
|
return dictionary[key] as? Bool
|
|
}
|
|
return nil
|
|
}
|
|
}
|
|
|