Skip to content

Commit 8ef4645

Browse files
committed
Update AAChartView.swift
1 parent 8591c7f commit 8ef4645

File tree

1 file changed

+10
-30
lines changed

1 file changed

+10
-30
lines changed

AAInfographics/AAChartCreator/AAChartView.swift

Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ public class AAEventMessageModel: NSObject {
4848
public var category: String?
4949
public var offset: [String: Any]?
5050
public var index: Int?
51+
52+
required override init() {
53+
54+
}
5155
}
5256

5357
@available(iOS 10.0, macCatalyst 13.1, macOS 10.13, *)
@@ -660,44 +664,20 @@ extension AAChartView: WKScriptMessageHandler {
660664
open func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
661665
if message.name == kUserContentMessageNameClick {
662666
let messageBody = message.body as! [String: Any]
663-
let eventMessageModel = getClickEventMessageModel(messageBody: messageBody)
664-
delegate?.aaChartView?(self, clickEventMessage: eventMessageModel )
667+
let clickEventMessageModel = getEventMessageModel(messageBody: messageBody, eventType: AAClickEventMessageModel.self)
668+
delegate?.aaChartView?(self, clickEventMessage: clickEventMessageModel)
665669
} else if message.name == kUserContentMessageNameMouseOver {
666670
let messageBody = message.body as! [String: Any]
667-
let eventMessageModel = getMoveOverEventMessageModel(messageBody: messageBody)
668-
delegate?.aaChartView?(self, moveOverEventMessage: eventMessageModel)
671+
let moveOverEventMessageModel = getEventMessageModel(messageBody: messageBody, eventType: AAMoveOverEventMessageModel.self)
672+
delegate?.aaChartView?(self, moveOverEventMessage: moveOverEventMessageModel)
669673
}
670674
}
671675
}
672676

673677
@available(iOS 10.0, macCatalyst 13.1, macOS 10.13, *)
674678
extension AAChartView {
675-
private func getClickEventMessageModel(messageBody: [String: Any]) -> AAClickEventMessageModel {
676-
let eventMessageModel = getEventMessageModel(messageBody: messageBody)
677-
let clickMessageModel = AAClickEventMessageModel()
678-
clickMessageModel.name = eventMessageModel.name
679-
clickMessageModel.x = eventMessageModel.x
680-
clickMessageModel.y = eventMessageModel.y
681-
clickMessageModel.category = eventMessageModel.category
682-
clickMessageModel.offset = eventMessageModel.offset
683-
clickMessageModel.index = eventMessageModel.index
684-
return clickMessageModel
685-
}
686-
687-
private func getMoveOverEventMessageModel(messageBody: [String: Any]) -> AAMoveOverEventMessageModel {
688-
let eventMessageModel = getEventMessageModel(messageBody: messageBody)
689-
let moveOverMessageModel = AAMoveOverEventMessageModel()
690-
moveOverMessageModel.name = eventMessageModel.name
691-
moveOverMessageModel.x = eventMessageModel.x
692-
moveOverMessageModel.y = eventMessageModel.y
693-
moveOverMessageModel.category = eventMessageModel.category
694-
moveOverMessageModel.offset = eventMessageModel.offset
695-
moveOverMessageModel.index = eventMessageModel.index
696-
return moveOverMessageModel
697-
}
698-
699-
private func getEventMessageModel(messageBody: [String: Any]) -> AAEventMessageModel {
700-
let eventMessageModel = AAEventMessageModel()
679+
private func getEventMessageModel<T: AAEventMessageModel>(messageBody: [String: Any], eventType: T.Type) -> T {
680+
let eventMessageModel = T()
701681
eventMessageModel.name = messageBody["name"] as? String
702682
eventMessageModel.x = getFloatValue(messageBody["x"])
703683
eventMessageModel.y = getFloatValue(messageBody["y"])

0 commit comments

Comments
 (0)