LMCandidateNode // Use GCD on load.

This commit is contained in:
ShikiSuen 2022-09-21 00:31:09 +08:00
parent 9a58893585
commit d3668d9f0b
1 changed files with 17 additions and 15 deletions

View File

@ -33,23 +33,25 @@ public class CandidateNode {
}
public static func load(url: URL) {
//
var arrLines = [String.SubSequence]()
var fieldSlice = [Substring.SubSequence]()
var arrMembers = [CandidateNode]()
do {
arrLines = try String(contentsOfFile: url.path, encoding: .utf8).split(separator: "\n")
for strLine in arrLines.lazy.filter({ !$0.isEmpty }) {
fieldSlice = strLine.split(separator: "=")
switch fieldSlice.count {
case 1: arrMembers.append(.init(name: String(fieldSlice[0])))
case 2: arrMembers.append(.init(name: String(fieldSlice[0]), symbols: .init(fieldSlice[1])))
default: break
DispatchQueue.main.async {
//
var arrLines = [String.SubSequence]()
var fieldSlice = [Substring.SubSequence]()
var arrMembers = [CandidateNode]()
do {
arrLines = try String(contentsOfFile: url.path, encoding: .utf8).split(separator: "\n")
for strLine in arrLines.lazy.filter({ !$0.isEmpty }) {
fieldSlice = strLine.split(separator: "=")
switch fieldSlice.count {
case 1: arrMembers.append(.init(name: String(fieldSlice[0])))
case 2: arrMembers.append(.init(name: String(fieldSlice[0]), symbols: .init(fieldSlice[1])))
default: break
}
}
root = arrMembers.isEmpty ? defaultSymbolRoot : .init(name: "/", members: arrMembers)
} catch {
root = defaultSymbolRoot
}
root = arrMembers.isEmpty ? defaultSymbolRoot : .init(name: "/", members: arrMembers)
} catch {
root = defaultSymbolRoot
}
}