added iOS source code
[wl-app.git] / iOS / Pods / MenuItemKit / MenuItemKit / UIMenuItem.swift
1 //
2 //  UIMenuItem.swift
3 //  MenuItemKit
4 //
5 //  Created by CHEN Xian’an on 1/16/16.
6 //  Copyright © 2016 lazyapps. All rights reserved.
7 //
8
9 import UIKit
10 import ObjectiveC.runtime
11
12 public extension UIMenuItem {
13
14   @objc(mik_initWithTitle:image:action:)
15   convenience init(title: String, image: UIImage?, action: @escaping MenuItemAction) {
16     let title = image != nil ? title + imageItemIdetifier : title
17     self.init(title: title, action: Selector(blockIdentifierPrefix + UUID.stripedString + ":"))
18     imageBox.value = image
19     actionBox.value = action
20   }
21
22   @objc(mik_initWithTitle:action:)
23   convenience init(title: String, action: @escaping MenuItemAction) {
24     self.init(title: title, image: nil, action: action)
25   }
26
27
28   @objc(mik_isMenuItemKitSelector:)
29   static func isMenuItemKitSelector(_ sel: Selector) -> Bool {
30     return NSStringFromSelector(sel).hasPrefix(blockIdentifierPrefix)
31   }
32 }
33
34 // MARK: NSUUID
35 private extension UUID {
36   
37   static var stripedString: String {
38     return UUID().uuidString.replacingOccurrences(of: "-", with: "_")
39   }
40   
41 }