AAA 1.0.6

AAA 1.0.6

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017年3月
SwiftSwift版本3.0
SPM支持SPM

Mayu Laierlence维护。



AAA 1.0.6

  • Mayu Laierlence

AAA

一个Any配件。

什么是Any配件?

听起来不错。那么它是什么呢?

您可能至少遇到过一次将[Any][AnyHashable: Any]或任何东西上转换为Any的情况。如果是这样,您会编写如下:

func tion(_ anAny: Any) -> Int {
    var anArray: [Int]?
    var aDictionary: [String: Any]?
    var result = 0
    if anAny is [Int] {
        anArray = anAny as! [Int]
    }
    else if anAny is [String: Int] {
        aDictionary = anAny as! [String: Int]
    }
    if let anArray = anArray {
        result = ((anArray[3] as? [Int])?[9] as? [Int])?[27]? ?? 0
    }
    else if let aDictionary = aDictionary {
        result = (aDictionary["3"] as? [String: [String: Int]])?["9"]?["27"] ?? 0
    }
    return result
}

不,请下不为例!

好吧。我会对你宽容一些。

import PackageDescription

let package = Package(
    name: "AWESOME_APP",
    dependencies: [
        .Package(url: "https://github.com/minacle/AAA.git", majorVersion: 1),
    ]
)
  • Cartfile (使用Carthage)
github "minacle/AAA" ~> 1.0
  • Podfile (使用CocoaPods)
target 'AWESOME_APP' do
  use_frameworks!
  pod 'AAA', '~> 1.0'
end

……现在,我们有AAA。让我们试试!

import AAA

func tion(_ anAny: Any) -> Int {
    let a = AAA(anAny)
    return (a[3][9][27][] ?? a["3"]["9"]["27"][]) as? Int ?? 0
}

等等,这是什么?这些真的是相同的代码吗?多么美丽!

那么,如何使用它呢?

非常简单。

  1. 只需将任何内容用AAA包装。
  2. 使用索引或键进行探索。
  3. []以获取该内容的副本!

还有一件事,它永远不会抛出错误!

  • 如果索引或键是错误的,它返回包含nilAAA
  • 如果是这样,[]返回nil