Junior — Middle
Hogyan valósult meg a SnapKit könyvtár alacsony szinten?
sobes.tech MI
Válasz az MI-től
A SnapKit egy könyvtár az Auto Layout korlátozásainak deklaratív létrehozásához iOS-en Swift nyelven. Alacsony szinten egy wrapperként működik az NSLayoutConstraint felett, egyszerűsítve a korlátozások létrehozását és aktiválását.
A megvalósítás fő pontjai:
- A SnapKit láncolásokat (chaining) használ a korlátozások kényelmes leírására.
- Belsőleg NSLayoutConstraint objektumokat hoz létre a szükséges paraméterekkel.
- A SnapKit kezeli a korlátozások aktiválását és deaktiválását, hogy elkerülje a konfliktusokat.
- Proxy-objektumokat használ a view-k és attribútumaik (pl.
view.snp.left) reprezentálására.
Egyszerűsített kód példa, hasonló a SnapKithez:
view.snp.makeConstraints { make in
make.left.equalTo(superview).offset(10)
make.top.equalTo(superview).offset(20)
make.width.height.equalTo(100)
}
A make egy objektum, amely összegyűjti a paramétereket és létrehozza az NSLayoutConstraint-et, majd aktiválja azokat.