万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    拡張クラスに保存

    UIViewControllerを拡張して、StringやBoolが保存できる

    vc.addedString = "Str" vc.addedBool = true

    public extension UIViewController {
        private struct additional {
            static var addedString: String = ""
            static var addedBool: Bool = false
            // TODO: ここ他にも増やせる
        }
    
        var addedString: String {
            get {
                guard let theString = objc_getAssociatedObject(self, &additional.addedString) as? String else {
                    return ""
                }
                return theString
            }
            set {
                objc_setAssociatedObject(self, &additional.addedString, newValue, .OBJC_ASSOCIATION_RETAIN)
            }
        }
    
        var addedBool: Bool {
            get {
                guard let theBool = objc_getAssociatedObject(self, &additional.addedBool) as? Bool else {
                    return false
                }
                return theBool
            }
            set {
                objc_setAssociatedObject(self, &additional.addedBool, newValue, .OBJC_ASSOCIATION_RETAIN)
            }
        }
    
         // TODO: ここ他にも増やせる
    }