Skip to content

maximbilan/SwiftHandbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 

Repository files navigation

Swift Handbook

Welcome to "Swift Handbook," where we peel back the layers of Swift, revealing the nifty tricks and under-the-hood magic that make this language a modern marvel. Our repository is your go-to treasure trove for bite-sized wisdom, dishing out savvy programming insights. Whether you're a seasoned coder or just starting, our tips cater to all, making complex concepts digestible and fun.

Tips

1. defer
2. Unavailable macro
3. Semicolons
4. if case let
5. Typealiases
6. @discardableResult
7. CaseIterable
8. CustomStringConvertible protocol
9. zip
10. reduce
11. deinit
12. Lazy
13. Lazy Threads
14. inout
15. autoclosure
16. where for loop
17. Variadic Arguments
18. @dynamicCallable
19. Opaque Types
20. Dump
21. Result
22. Large number separators
23. Actor
24. @nonobjc
25. @propertyWrapper
26. mutating
27. fallthrough
28. Tuples
29. @dynamicMemberLookup
30. @inlinable
31. @autoreleasepool
32. guard
33. targetEnvironment
34. Optionals
35. Closures
36. @atomic
37. SOLID Single responsibility principle
38. SOLID Open–closed principle
39. SOLID Liskov substitution principle
40. SOLID Interface segregation principle
41. SOLID Dependency inversion principle
42. Task
43. Detached Task
44. compactMap
45. GeometryReader
46. Safe Array Extension
47. Property observers
48. Codable
49. Equatable
50. Optional Protocol
51. @Environment
52. @EnvironmentObject
53. App Start
54. Type Metadata
55. Final
56. Main Thread check
57. Optional chaining
58. PassthroughSubject
59. CurrentValueSubject
60. Intersection
61. Union
62. Subtract
63. Symmetric Difference
64. foreach
65. AsyncSequence
66. @objc members
67. Recursion
68. Polymorphism
69. Inheritance
70. Composition
71. Delegation
72. Abstraction
73. KISS
74. Encapsulation
75. Pure function
76. FetchRequest
77. Random
78. Private init
79. Optional Initializer
80. Designated Initializer
81. Convenience Initializer
82. How to check the Swift version at compile time
83. How to convert between camel case and snake case
84. How to make operations wait for another to complete
85. How to make a network request wait for an internet connection
86. How to check whether a module is available
87. How to convert a multidimensional array to a single-dimensional array
88. How to compare dates
89. Unowned Reference
90. What does Weak reference mean?
91. What does Strong reference mean?
92. Weak vs Unowned
93. Automatic Reference Counting
94. Open vs Public
95. Swizzling
96. How to use Stack in Swift
97. How to implement a Queue in Swift
98. How to implement LinkedList in Swift
99. Singleton in Swift
100. Zombie in Swift
101. How to use try-catch in Swift
102. How to use Generics in Swift
103. Implementing Tree Data Structure in Swift
104. How to implement Graph in Swift
105. How to use Proxy pattern in Swift
106. How to use Facade design pattern in Swift
107. How to use Adapter pattern in Swift
108. How to use Decorator pattern in Swift
109. Bit manipulation
110. Binary tree
111. How to implement Observer pattern in Swift
112. How to shuffle an array in Swift
113. How to use associated type in Swift
114. RunLoop for Precise Timing in Swift
115. Subscriber method for receiving and handling data
116. How to use Sendable protocol in Swift
117. How to use Builder pattern in Swift
118. How to use Prototype pattern in Swift
119. Tracking Download Progress in URLSession

About

Explore essential Swift nuggets in our "Swift Handbook" repository. Tailored for both beginners or pros.

Topics

Resources

Stars

Watchers

Forks