Apple αž”αž‰αŸ’αž…αŸαž‰ Swift 5.3 programming language αž“αž·αž„ open source Swift System library

αž•αŸ’αž›αŸ‚αž”αŸ‰αŸ„αž˜ αž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸ αž’αŸ†αž–αžΈαž€αžΆαžšαž”αžΎαž€αž€αžΌαžŠαž”αŸ’αžšαž—αž–αž“αŸƒαž”αžŽαŸ’αžŽαžΆαž›αŸαž™ αž”αŸ’αžšαž–αŸαž“αŸ’αž’ SwiftαžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαŸ†αžŽαž»αŸ† idiomatic αž“αŸƒαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž αŸ…αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž“αž·αž„αž”αŸ’αžšαž—αŸαž‘αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αž˜αŸ’αžšαž·αžαž‘αžΆαž”αŸ” Swift System αžŠαžΎαž˜αž‘αžΎαž™αž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαžαŸ‚αž€αžΆαžšαž αŸ…αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆ Apple αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ…αž›αžΈαž“αž»αž…αŸ” αž€αžΌαžŠαž”αŸ’αžšαž–αŸαž“αŸ’αž’ Swift αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‡αžΆαž—αžΆαžŸαžΆ Swift αž“αž·αž„ αž…αŸ‚αž€αž…αžΆαž™β€‹αžŠαŸ„αž™ αž˜αžΆαž“αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽαž€αŸ’αžšαŸ„αž˜ Apache 2.0 αŸ”

αž”αŸ’αžšαž–αŸαž“αŸ’αž’ Swift αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž…αŸ†αžŽαž»αž…αžαŸ‚αž˜αž½αž™αž“αŸƒαž€αžΆαžšαž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž˜αžΆαž“αž€αŸ’αžšαž”αžαŸαžŽαŸ’αžŒ C αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Swift αŸ” αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ Swift System αž˜αž·αž“αž”αž„αŸ’αžšαž½αž”αž”αž„αŸ’αžšαž½αž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž αŸ…αžαŸ’αž›αž½αž“αž―αž„αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαŸ†αžŽαž»αŸ†αžšαž„αž“αŸƒ APIs αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆαžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαž“αžΈαž˜αž½αž™αŸ— αžŠαŸ„αž™αž‚αž·αžαž‚αžΌαžšαž–αžΈαž₯αžšαž·αž™αžΆαž”αžαžšαž”αžŸαŸ‹αžœαŸαž‘αž·αž€αžΆαž“αŸαŸ‡ αž“αž·αž„αž†αŸ’αž›αž»αŸ‡αž”αž‰αŸ’αž…αžΆαŸ†αž„αž™αŸ‰αžΆαž„αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αžΌαžœαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž€αž˜αŸ’αžšαž·αžαž‘αžΆαž”αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž‚αŸ„αž›αžŠαŸ…αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž”αŸ’αžšαž–αŸαž“αŸ’αž’ Swift αž‚αžΊαžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αžšαž½αž›αžŠαž›αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸƒαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž†αŸ’αž›αž„αžœαŸαž‘αž·αž€αžΆ αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαžΌαž…αž‡αžΆ SwiftNIO ΠΈ SwiftPM. αž”αŸ’αžšαž–αŸαž“αŸ’αž’ Swift αž˜αž·αž“αž›αž»αž”αž”αŸ†αž”αžΆαžαŸ‹αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎ "#if os()" αž“αŸ…αž–αŸαž›αž…αžΌαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž‹αž˜αž€αž˜αŸ’αžšαž·αžαž‘αžΆαž” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž’αŸ’αžœαžΎαž±αŸ’αž™αž€αžΆαžšαž„αžΆαžšαž“αŸαŸ‡αž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αž“αž·αž„
αž˜αžΆαž“β€‹αž•αžΆβ€‹αžŸαž»αžαž—αžΆαž–αŸ”

αž’αŸ’αž“αž€αž€αŸαž’αžΆαž…αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž•αž„αžŠαŸ‚αžšαŸ” αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž•αŸ’αžŸαžΆαž™ αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Swift 5.3. αž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹αž‡αžΆαž•αŸ’αž›αžΌαžœαž€αžΆαžš αžšαŸ€αž”αž…αŸ† αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αžΈαž“αž»αž… (αž’αŸŠαžΌαž”αŸŠαž»αž“αž‘αžΌ 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) αž“αž·αž„ Windows 10αŸ” αž”αŸ’αžšαž—αž–αž’αžαŸ’αžαž”αž‘ αž€αžΆαžšβ€‹αž†αŸ’αž›αž„β€‹αžšαžΆαž›αžŠαžΆαž› αž˜αžΆαž“αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽαž€αŸ’αžšαŸ„αž˜ Apache 2.0 αŸ”

αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžαŸ’αž˜αžΈαž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŠαŸ†αž”αžΌαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆαžœαžΈαž“αžŠαžΌαž“αž·αž„ αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž€αžΆαžšαž•αŸ’αž‚αžαŸ‹αž•αŸ’αž‚αž„αŸ‹αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαž αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Swift αž“αŸ…αž›αžΎ Windows 10αŸ” αž˜αž»αžαž„αžΆαžšαž—αžΆαžŸαžΆαž”αž“αŸ’αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αž›αž˜αŸ’αž’αŸ” αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžαŸ’αž˜αžΈαžšαž½αž˜αž˜αžΆαž“αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘ String αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αž“αŸƒαž€αž“αŸ’αžŸαŸ„αž˜ "αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆ" αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„ didSet semantics αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž›αŸ†αž“αžΆαŸ†αž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž“αŸ’αžŸαŸ„αž˜ Catch αž“αž·αž„αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž“αŸƒαž”αŸ’αžšαž—αŸαž‘αž˜αž½αž™αŸ”
αž’αžŽαŸ’αžαŸ‚αž ៑៦, αž’αžΆαžαžΌαž˜αž·αž… αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αŸ”

αž‘αŸ†αž αŸ†αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž›αž‘αŸ’αž’αž•αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™ - αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž“αŸ…αž€αŸ’αž“αž»αž„ Swift 4 αž‘αŸ†αž αŸ†αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž”αžΆαž“αž‡αž½αž”αž”αŸ’αžšαž‡αž»αŸ†αž‚αŸ’αž“αžΆαž‚αžΊαž’αŸ†αž‡αžΆαž„αž€αŸ†αžŽαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„ Objective-C 2.3 αžŠαž„ αž₯αž‘αžΌαžœαž“αŸαŸ‡αž‚αž˜αŸ’αž›αžΆαžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž˜αž€αžαŸ’αžšαžΉαž˜ 1.5 αžŠαž„αŸ” αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžαŸ’αž˜αžΈαž“αŸαŸ‡αž€αŸαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž™αŸ‰αžΆαž„αžŸαŸ†αžαžΆαž“αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž…αŸ†αž“αž½αž“αž’αž‚αžΆαžš αž“αž·αž„αž€αžΌαžŠαž’αž‚αžΆαžšαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž· αž“αž·αž„αž˜αž»αžαž„αžΆαžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αž’αŸ†αžŠαŸ‚αž›αž“αžΆαŸ†αž…αžΌαž›αž–αžΈαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž§αž”αž€αžšαžŽαŸαžœαž·αž“αž·αž…αŸ’αž†αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„ αž“αž·αž„αž‚αž»αžŽαž—αžΆαž–αž“αŸƒαžŸαžΆαžšαž€αŸ†αž αž»αžŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αž›αž˜αŸ’αž’αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž’αž“αž’αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžŠαžΌαž…αž‡αžΆαžšαžΌαž”αž—αžΆαž–αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž‰αŸ’αž…αž”αŸ‹αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹αž€αŸαž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž˜αžΆαžŸαž’αžΆαžαž»αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžΈαž™αž€αž˜αŸ’αž˜ αž“αž·αž„αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αžαžΆαž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒαŸ”

αžŸαžΌαž˜αž…αžΆαŸ†αžαžΆαž—αžΆαžŸαžΆ Swift αž‘αž‘αž½αž›αž˜αžšαžαž€αž’αžΆαžαž»αžŠαŸαž›αŸ’αž’αž”αŸ†αž•αž»αžαž“αŸƒαž—αžΆαžŸαžΆ C αž“αž·αž„ Objective-C αž αžΎαž™αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž‚αŸ†αžšαžΌαžœαžαŸ’αžαž»αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™ Objective-C (αž€αžΌαžŠ Swift αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΌαžŠ C αž“αž·αž„ Objective-C) αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαž»αžŸαž‚αŸ’αž“αžΆαžαŸ’αžšαž„αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž›αžΎαžŸαž…αŸ†αžŽαž»αŸ‡αž“αŸƒαž’αžαŸαžš αž“αž·αž„αž’αžΆαžšαŸ αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαž“αž—αžΆαž–αž‡αžΏαž‡αžΆαž€αŸ‹ αž“αž·αž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž“αŸƒαž€αžΌαžŠαž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αŸ” Swift αž€αŸαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ†αž“αžΎαž”αž‡αžΆαž…αŸ’αžšαžΎαž“αž•αž„αžŠαŸ‚αžš αžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž”αž·αž‘ αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΌαž‘αŸ… αž€αž“αŸ’αžŸαŸ„αž˜ lambda αž”αŸ’αžšαž—αŸαž‘ tuples αž“αž·αž„αžœαž…αž“αžΆαž“αž»αž€αŸ’αžšαž˜ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αžšαž αŸαžŸ αž“αž·αž„αž’αžΆαžαž»αž•αŸ’αžŸαŸ†αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αž»αžαž„αžΆαžšαŸ” αž€αŸ†αžŽαŸ‚αž›αžΈαž“αž»αž…αž˜αž·αž“αž‡αžΆαž”αŸ‹αž“αžΉαž„ Objective-C Runtime αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αŸ’αžšαžΎαž—αžΆαžŸαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαŸ‚αž›αžαŸ’αžœαŸ‡αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš Objective-C αŸ”

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž Swift αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž–αžΈαž‚αž˜αŸ’αžšαŸ„αž„ LLVM αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αžΆαž”αžΆαž“αž“αžΌαžœαž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžαŸ’αž–αžŸαŸ‹ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Swift αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž„αž€αŸ’αžšαž„αž‡αžΆαž€αžΌαžŠαžŠαžΎαž˜αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΏαž“αž‡αžΆαž„αž€αžΌαžŠ Objective-C 30% αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžšαž”αžŸαŸ‹ Apple αŸ” αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜ Swift αž”αŸ’αžšαžΎαž€αžΆαžšαžšαžΆαž”αŸ‹αž™αŸ„αž„αžœαžαŸ’αžαž»αŸ” αž€αž‰αŸ’αž…αž”αŸ‹αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹αžšαž αŸαžŸαžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αŸ‚αž€αž…αžΆαž™αž˜αŸ‰αžΌαžŒαž»αž› αž“αž·αž„αž€αž‰αŸ’αž…αž”αŸ‹αž‡αžΆαž˜αž½αž™αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαžŸαžΆ Swift αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™ αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž€αžΆαžšαž€αžŸαžΆαž„ αž“αž·αž„αž—αŸ’αž‡αžΆαž”αŸ‹αžŸαž˜αžΆαžŸαž’αžΆαžαž»αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹