DTBKitWrapper
@dynamicMemberLookup
public struct DTBKitWrapper<Base>
Mainly instance wrapper.
对象容器。
-
Undocumented
Declaration
Swift
public let me: Base
-
Undocumented
Declaration
Swift
public init(_ value: Base)
-
Default unbox, use it to get actual value.
默认拆箱关键字。
Usage example:
let label = UILabel().dtb.text("title").value
Declaration
Swift
public var value: Base { get }
-
Chainable for any property.
链式语法兼容
Declaration
Swift
public subscript<Value>(dynamicMember keyPath: WritableKeyPath<Base, Value>) -> ((Value) -> DTBKitWrapper<Base>) { get }
-
Safe array
- Sample:
list[0] => list.xm[0]
~=
:Swift/Collection/Range
Declaration
Swift
public subscript<T>(index: Int?) -> T? where Base == [T] { get }
- Sample:
-
System json parser.
纯原生解析
Declaration
Swift
func jsonString() -> String?
-
System json parser.
纯原生解析
Declaration
Swift
func json<T>() -> T?
-
System json parser.
纯原生解析
Declaration
Swift
func jsonDict() -> [String : Any]?
-
System json parser.
纯原生解析
Declaration
Swift
func jsonArray() -> [Any]?
-
Declaration
Swift
public func absorb(barrier: CGSize) -> CGRect
-
Declaration
Swift
public func inside(barrier: CGRect) -> CGRect
-
Declaration
Swift
public var isEmpty: Bool { get }
-
Declaration
Swift
public var isSquare: Bool { get }
-
Declaration
Swift
public var center: CGPoint { get }
-
Declaration
Swift
public var area: CGFloat { get }
-
Declaration
Swift
public var longer: CGFloat { get }
-
Declaration
Swift
public var shorter: CGFloat { get }
-
Inscribe
Declaration
Swift
public var inSquare: CGSize { get }
-
Circumscribe
Declaration
Swift
public var outSquare: CGSize { get }
-
Declaration
Swift
@discardableResult public func margin(all value: CGFloat) -> DTBKitWrapper<Base>
-
Declaration
Swift
@discardableResult public func margin(dx: CGFloat, dy: CGFloat) -> DTBKitWrapper<Base>
-
Declaration
Swift
@discardableResult public func margin(only insets: UIEdgeInsets) -> DTBKitWrapper<Base>
-
Declaration
Swift
@discardableResult public func padding(all value: CGFloat) -> DTBKitWrapper<Base>
-
Declaration
Swift
@discardableResult public func padding(dx: CGFloat, dy: CGFloat) -> DTBKitWrapper<Base>
-
Declaration
Swift
@discardableResult public func padding(only insets: UIEdgeInsets) -> DTBKitWrapper<Base>
-
Same as
UIImageView.contentMode
Declaration
Swift
public func aspectFit(to target: CGSize) -> DTBKitWrapper<Base>
-
Same as
UIImageView.contentMode
Declaration
Swift
public func aspectFill(to target: CGSize) -> DTBKitWrapper<Base>
-
+
Declaration
Swift
public func plus(_ value: Any, behavior: NSDecimalNumberHandler?) -> `Self`?
-
“+”, Use
DTB.Configuration.shared.decimalBehavior
Declaration
Swift
public func plus(_ value: Any, scale: Int16 = 2, rounding: NSDecimalNumber.RoundingMode = .plain) -> `Self`?
-
-
Declaration
Swift
public func minus(_ value: Any, behavior: NSDecimalNumberHandler?) -> `Self`?
-
“-”, Use
DTB.Configuration.shared.decimalBehavior
Declaration
Swift
public func minus(_ value: Any, scale: Int16 = 2, rounding: NSDecimalNumber.RoundingMode = .plain) -> `Self`?
-
Declaration
Swift
public func multi(_ value: Any, behavior: NSDecimalNumberHandler?) -> `Self`?
-
“*”, Use
DTB.Configuration.shared.decimalBehavior
Declaration
Swift
public func multi(_ value: Any, scale: Int16 = 2, rounding: NSDecimalNumber.RoundingMode = .plain) -> `Self`?
-
/
Declaration
Swift
public func div(_ value: Any, behavior: NSDecimalNumberHandler?) -> `Self`?
-
“/”, Use
DTB.Configuration.shared.decimalBehavior
Declaration
Swift
public func div(_ value: Any, scale: Int16 = 2, rounding: NSDecimalNumber.RoundingMode = .plain) -> `Self`?
-
^
Declaration
Swift
public func power(_ value: Int, behavior: NSDecimalNumberHandler?) -> `Self`?
-
“^”, Use
DTB.Configuration.shared.decimalBehavior
Declaration
Swift
public func power(_ value: Int, scale: Int16 = 2, rounding: NSDecimalNumber.RoundingMode = .plain) -> `Self`?
-
10^
Declaration
Swift
public func multiPower10(_ value: Int16, behavior: NSDecimalNumberHandler?) -> `Self`?
-
“* 10^”, Use
DTB.Configuration.shared.decimalBehavior
Declaration
Swift
public func multiPower10(_ value: Int16, scale: Int16 = 2, rounding: NSDecimalNumber.RoundingMode = .plain) -> `Self`?
-
Declaration
Swift
public var str: DTBKitWrapper<String> { get }
-
Declaration
Swift
public var mStr: DTBKitWrapper<NSMutableString> { get }
-
Append.
Example:
let attr = "".dtb.attr.append( "text", .dtb.create .foregroundColor(.black) .font(.systemFont(ofSize: 13.0)) .value ).value
Declaration
Swift
@discardableResult public func append(_ string: String?, _ attributes: [NSAttributedString.Key : Any]?) -> DTBKitWrapper<Base>
-
Same as
setAttributes:
, search subString with nsRange.没搜索到则不做处理。
Declaration
Swift
@discardableResult public func setSub(_ subString: String, attrs: [NSAttributedString.Key : Any]? = nil) -> DTBKitWrapper<Base>
-
Same as
addAttributes
, search subString with nsRange.没搜索到则不做处理。
Declaration
Swift
@discardableResult public func addSub(_ subString: String, attrs: [NSAttributedString.Key : Any]) -> DTBKitWrapper<Base>
-
Declaration
Swift
public var isEmpty: Bool { get }
-
Undocumented
Declaration
Swift
@discardableResult public func range(of searchString: String) -> DTBKitWrapper<NSRange>
-
Declaration
Swift
@discardableResult public func string(from number: NSNumber?) -> DTBKitWrapper<String>?
-
Declaration
Swift
@discardableResult public func number(from string: String?) -> DTBKitWrapper<NSNumber>?
-
Declaration
Swift
@discardableResult public func decimal(_ value: Int = 2) -> DTBKitWrapper<Base>
-
Declaration
Swift
@discardableResult public func maxDecimal(_ value: Int = 2) -> DTBKitWrapper<Base>
-
Declaration
Swift
@discardableResult public func split(by group: String = ",", size: Int = 3) -> DTBKitWrapper<Base>
-
Declaration
Swift
@discardableResult public func rounded(_ mode: NumberFormatter.RoundingMode = .halfUp) -> DTBKitWrapper<Base>
-
Declaration
Swift
@discardableResult public func prefix(_ positive: String, negative: String? = nil) -> DTBKitWrapper<Base>
-
Declaration
Swift
@discardableResult public func suffix(_ positive: String, _ negative: String? = nil) -> DTBKitWrapper<Base>
-
Declaration
Swift
public var ns: DTBKitWrapper<NSString> { get }
-
Adapter for NSString.length.
使用 NS 系列 API 时必须注意 String 和 NSString 的根本不同; 如果对此没有了解,建议全部使用 NSString 来处理。
let a = "".utf16.count let b = NSString(string: "").length // (a == b) == true
Declaration
Swift
public var count: Int { get }
-
Declaration
Swift
public var attr: DTBKitWrapper<NSMutableAttributedString> { get }
-
Declaration
Swift
public func has(nsRange: NSRange) -> Bool
-
Declaration
Swift
public func isMatches(_ exp: String) -> Bool
-
Declaration
Swift
public func isRegular(_ value: DTBKitStringRegulars) -> Bool
-
Declaration
Swift
public func rounded(_ roundRule: FloatingPointRoundingRule? = nil) -> DTBKitWrapper<Base>
-
Convert to string.
转字符串。
Declaration
Swift
public var string: DTBKitWrapper<String> { get }
-
Convert to string with numberFormatter.
格式化字符串。
For example:
/// Use preset formatter let a = 2.1.dtb.toString(.dtb.CNY)?.value /// Custom formatter let b = 2.dtb.double.toString(NumberFormatter().dtb.decimal(2).rounded(.halfDown).prefix("¥", negative: "-¥").value)
Declaration
Swift
public func toString(_ formatter: NumberFormatter) -> DTBKitWrapper<String>?
-
Convert to NSDecimalNumber with behavior.
精度处理。
Declaration
Swift
public var nsDecimal: DTBKitWrapper<NSDecimalNumber> { get }
-
Cut dicimal places.
截取小数后 x 位。
Example:
1.26.dtb.place(1).value = 1.2
Declaration
Swift
public func places(_ value: Int) -> DTBKitWrapper<Base>
-
Undocumented
Declaration
Swift
public func hf(_ behavior: DTB.HFBehaviors = .scale) -> CGFloat
-
Declaration
Swift
public func toDate() -> Date
-
Convert to string.
转字符串。
Declaration
Swift
public var string: DTBKitWrapper<String> { get }
-
Convert to string with numberFormatter.
格式化字符串。
For example:
/// Use preset formatter let a = 2.1.dtb.toString(.dtb.CNY)?.value /// Custom formatter let b = 2.dtb.double.toString(NumberFormatter().dtb.decimal(2).rounded(.halfDown).prefix("¥", negative: "-¥").value)
Declaration
Swift
public func toString(_ formatter: NumberFormatter) -> DTBKitWrapper<String>?
-
Convert to NSDecimalNumber with behavior.
精度处理。
Declaration
Swift
public var nsDecimal: DTBKitWrapper<NSDecimalNumber> { get }
-
Declaration
Swift
public func ci() -> DTBKitWrapper<CIImage>?
-
Declaration
Swift
public func scale(to value: CGFloat) -> DTBKitWrapper<UIImage>?
Parameters
value
result will aspect fit to value.
Return Value
nil if scale fail.
-
Declaration
Swift
public var topMost: DTBKitWrapper<UIViewController>? { get }
-
Mark it as WGS
For example:
let p = CLLocationCoordinate2D(latitude: 10.0, longitude: 10.0) // WGS let result = p.dtb.isWGS.toGCJ // GCJ
Declaration
Swift
public var isWGS: DTBKitCoordinate2DTransfer { get }
-
Mark it as GCJ
For example:
let p = CLLocationCoordinate2D(latitude: 10.0, longitude: 10.0) // GCJ let result = p.dtb.isGCJ.toWGS // WGS
Declaration
Swift
public var isGCJ: DTBKitCoordinate2DTransfer { get }
-
Mark it as BD
For example:
let p = CLLocationCoordinate2D(latitude: 10.0, longitude: 10.0) // BD let result = p.dtb.isBD.toGCJ // GCJ
Declaration
Swift
public var isBD: DTBKitCoordinate2DTransfer { get }
-
Declaration
Swift
public func getZoomLevel() -> Int
-
Declaration
Swift
public func setZoomLevel(_ value: Int, animated: Bool = true)