<?xml version="1.0" encoding="UTF-8" ?>
<rss
    version="2.0"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:webfeeds="http://webfeeds.org/rss/1.0"
    xmlns:media="http://search.yahoo.com/mrss/"
    >
    <channel>
        <title>Swift Tag - Viblo</title>
        <link>https://viblo.asia/rss</link>
        <description><![CDATA[Free service for technical knowledge sharing]]></description>
        <atom:link href="https://viblo.asia/rss/tags/swift.rss" rel="self"></atom:link>
                <copyright>Sun* Inc.</copyright>
                                                <webfeeds:logo>https://viblo.asia/logo_full.svg</webfeeds:logo>
        <image>
            <url>https://viblo.asia/logo_full.svg</url>
            <title>Swift Tag - Viblo</title>
            <link>https://viblo.asia/rss</link>
        </image>
                                <language>vi-vn</language>
        <lastBuildDate>2026-05-17T16:45:46+07:00</lastBuildDate>
                <item>
            <title><![CDATA[About Swift - Giới thiệu về Swift]]></title>
                        <link>https://viblo.asia/p/about-swift-gioi-thieu-ve-swift-oKLnqqAQJQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/about-swift-gioi-thieu-ve-swift-oKLnqqAQJQO</guid>
            <description><![CDATA[Nếu bạn đang cân nhắc stack cho iOS, Swift là lựa chọn gần như “mặc định”. Đây là programming language an toàn (safe), nhanh (fast), chạy tốt từ phone...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anh Tú Trần</dc:creator>
            <pubDate>2025-10-30 23:46:26</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Loose Coupling và Tight Coupling trong iOS Development]]></title>
                        <link>https://viblo.asia/p/loose-coupling-va-tight-coupling-trong-ios-development-MkNLr5Q7JgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/loose-coupling-va-tight-coupling-trong-ios-development-MkNLr5Q7JgA</guid>
            <description><![CDATA[1. Mở đầu
Bạn đã bao giờ xếp domino cả tiếng đồng hồ, chỉ để thằng bạn vô tình đụng tay vào viên đầu tiên, và cả thế giới tan thành mây khói chưa?
Chú...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Đặng Văn Tứ</dc:creator>
            <pubDate>2025-02-04 11:51:46</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Dependency Injection (DI) trong IOS]]></title>
                        <link>https://viblo.asia/p/dependency-injection-di-trong-ios-E1XVOjbZLMz</link>
            <guid isPermaLink="true">https://viblo.asia/p/dependency-injection-di-trong-ios-E1XVOjbZLMz</guid>
            <description><![CDATA[1. Dạo đầu :3
Konnichiwa! Lại là mình đây 
Không biết mọi người có còn nhớ mình không nhỉ? Nếu quên rồi thì nhớ lại liền đi nha, vì hôm nay mình quay ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Đặng Văn Tứ</dc:creator>
            <pubDate>2025-02-03 17:01:32</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Async await: từ cơ bản đến nâng cao trong Swift]]></title>
                        <link>https://viblo.asia/p/async-await-tu-co-ban-den-nang-cao-trong-swift-EbNVQA01VvR</link>
            <guid isPermaLink="true">https://viblo.asia/p/async-await-tu-co-ban-den-nang-cao-trong-swift-EbNVQA01VvR</guid>
            <description><![CDATA[Qua bài này các bạn sẽ dễ dàng nắm được cách sử dụng từ cơ bản đến nâng cao của asyn, await trong lập trình concurrency để tối ưu hoá hiệu năng và đảm...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Quang</dc:creator>
            <pubDate>2024-09-23 17:21:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Mở Terminal từ trong Xcode.]]></title>
                        <link>https://viblo.asia/p/mo-terminal-tu-trong-xcode-0gdJz6AnJz5</link>
            <guid isPermaLink="true">https://viblo.asia/p/mo-terminal-tu-trong-xcode-0gdJz6AnJz5</guid>
            <description><![CDATA[Qua bài viết này, lập trình viên iOS có thể mở trực tiếp Teminal từ trong Xcode và truy cập nhanh tới project đang mở chỉ bằng 1 command lệnh.

Đối vớ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Quang</dc:creator>
            <pubDate>2024-09-18 14:41:13</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[So sánh Objective-C và Swift trong iOS development]]></title>
                        <link>https://viblo.asia/p/so-sanh-objective-c-va-swift-trong-ios-development-3RlL5gB24bB</link>
            <guid isPermaLink="true">https://viblo.asia/p/so-sanh-objective-c-va-swift-trong-ios-development-3RlL5gB24bB</guid>
            <description><![CDATA[Qua bài này các bạn sẽ nắm được các khía cạnh của 2 ngôn ngữ phổ biến nhất trong lập trình iOS: Objective-C và Swift:
- Tiểu sử Objective-C
- Tiểu sử ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Quang</dc:creator>
            <pubDate>2024-08-16 13:47:38</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Object-Oriented Programming (OOP) trong Swift]]></title>
                        <link>https://viblo.asia/p/object-oriented-programming-oop-trong-swift-bXP4WYRoL7G</link>
            <guid isPermaLink="true">https://viblo.asia/p/object-oriented-programming-oop-trong-swift-bXP4WYRoL7G</guid>
            <description><![CDATA[Lập trình hướng đối tượng (OOP) giúp bạn cấu trúc code Swift của mình với các lớp. Các lớp này có các thuộc tính và chức năng và các lớp có thể kế thừ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thanh Long Nguyen</dc:creator>
            <pubDate>2024-07-06 13:34:59</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Periphery: xóa bỏ code thừa trong Swift &quot;một cách thông minh&quot;]]></title>
                        <link>https://viblo.asia/p/periphery-xoa-bo-code-thua-trong-swift-mot-cach-thong-minh-PAoJek6aV1j</link>
            <guid isPermaLink="true">https://viblo.asia/p/periphery-xoa-bo-code-thua-trong-swift-mot-cach-thong-minh-PAoJek6aV1j</guid>
            <description><![CDATA[Trong việc phát triển phần mềm, việc bảo trì và tối ưu mã là rất quan trọng để tạo ra ứng dụng chất lượng cao. Khi dự án ngày càng lớn và phức tạp hơn...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Ngọc Bạn</dc:creator>
            <pubDate>2024-04-11 14:15:02</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Combine trong Swift: Mở Ra Thế Giới Mới của Lập Trình Reactive]]></title>
                        <link>https://viblo.asia/p/combine-trong-swift-mo-ra-the-gioi-moi-cua-lap-trinh-reactive-n1j4lR3dLwl</link>
            <guid isPermaLink="true">https://viblo.asia/p/combine-trong-swift-mo-ra-the-gioi-moi-cua-lap-trinh-reactive-n1j4lR3dLwl</guid>
            <description><![CDATA[Swift là một ngôn ngữ lập trình mạnh mẽ, được Apple thiết kế để phát triển ứng dụng cho các hệ điều hành của mình. Điều đó có nghĩa là nó không chỉ cu...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Tuan Anh N</dc:creator>
            <pubDate>2023-12-13 00:25:03</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Managing Conflicts in iOS Development]]></title>
                        <link>https://viblo.asia/p/managing-conflicts-in-ios-development-PAoJe5PAJ1j</link>
            <guid isPermaLink="true">https://viblo.asia/p/managing-conflicts-in-ios-development-PAoJe5PAJ1j</guid>
            <description><![CDATA[Managing conflicts in iOS development is crucial for maintaining a productive and collaborative development process. Conflicts can arise from various ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hieu Xuan Leu</dc:creator>
            <pubDate>2023-09-19 17:48:35</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[SwiftData là gì? Tự làm chủ SwiftUI 5 và SwiftData cùng với Mastering SwiftUI 5 của Appcoda]]></title>
                        <link>https://viblo.asia/p/swiftdata-la-gi-tu-lam-chu-swiftui-5-va-swiftdata-cung-voi-mastering-swiftui-5-cua-appcoda-MG24BBoY4z3</link>
            <guid isPermaLink="true">https://viblo.asia/p/swiftdata-la-gi-tu-lam-chu-swiftui-5-va-swiftdata-cung-voi-mastering-swiftui-5-cua-appcoda-MG24BBoY4z3</guid>
            <description><![CDATA[SwiftUI tiếp tục là công nghệ hàng đầu để phát triển ứng dụng trên các thiết bị Apple. iOS 17 vừa ra mắt với nhiều tính năng SwiftUI mới thú vị như Sw...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Lê Tuấn</dc:creator>
            <pubDate>2023-08-14 20:47:10</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tìm hiểu về OperationQueue trong Swift]]></title>
                        <link>https://viblo.asia/p/tim-hieu-ve-operationqueue-trong-swift-pgjLNxww432</link>
            <guid isPermaLink="true">https://viblo.asia/p/tim-hieu-ve-operationqueue-trong-swift-pgjLNxww432</guid>
            <description><![CDATA[OperationQueue là một lớp trong iOS và macOS được sử dụng để quản lý và thực thi các tác vụ (operations) đồng thời và tuần tự. Nó cho phép bạn lên lịc...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Van Thuan</dc:creator>
            <pubDate>2023-05-31 21:29:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tìm hiểu về Properties trong ngôn ngữ Swift]]></title>
                        <link>https://viblo.asia/p/tim-hieu-ve-properties-trong-ngon-ngu-swift-GyZJZxn8Vjm</link>
            <guid isPermaLink="true">https://viblo.asia/p/tim-hieu-ve-properties-trong-ngon-ngu-swift-GyZJZxn8Vjm</guid>
            <description><![CDATA[Tổng quan
Trong Swift, properties (thuộc tính) được sử dụng để định nghĩa và truy cập vào các giá trị của một kiểu dữ liệu. Properties có thể thuộc về...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Van Thuan</dc:creator>
            <pubDate>2023-05-25 13:55:56</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Đơn giản hoá mô hình MVVM + SwiftUI]]></title>
                        <link>https://viblo.asia/p/don-gian-hoa-mo-hinh-mvvm-swiftui-MkNLrOmbVgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/don-gian-hoa-mo-hinh-mvvm-swiftui-MkNLrOmbVgA</guid>
            <description><![CDATA[1. Tổng quan
SwiftUI là một framework cung cấp cho chúng ta các công cụ để xây dựng các giao diện người dùng trên các nền tảng khác nhau, bao gồm iOS,...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Van Thuan</dc:creator>
            <pubDate>2023-02-28 23:44:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Đừng lạm dụng enum]]></title>
                        <link>https://viblo.asia/p/dung-lam-dung-enum-jvElaRjo5kw</link>
            <guid isPermaLink="true">https://viblo.asia/p/dung-lam-dung-enum-jvElaRjo5kw</guid>
            <description><![CDATA[Nhà tâm lý học người Mỹ Abraham Maslow có một câu nói rất nổi tiếng

Nếu dụng cụ duy nhất bạn có chỉ là một chiếc búa, thì mọi vấn đề đều trông giống ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Linh Ta</dc:creator>
            <pubDate>2022-05-19 02:43:04</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Combine trong Swift]]></title>
                        <link>https://viblo.asia/p/combine-trong-swift-WAyK86nmlxX</link>
            <guid isPermaLink="true">https://viblo.asia/p/combine-trong-swift-WAyK86nmlxX</guid>
            <description><![CDATA[Các ứng dụng hiện nay xử lý rất nhiều sự kiện thời gian nhằm nâng cao trải nghiệm cho người dùng. Chúng ta cần cô cụ để xử lý các sự kiện này. Framewo...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">DoanhND</dc:creator>
            <pubDate>2021-10-07 10:27:27</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Sự khác biệt giữa shared session vs. default session trong URLSession]]></title>
                        <link>https://viblo.asia/p/su-khac-biet-giua-shared-session-vs-default-session-trong-urlsession-1Je5E6W0KnL</link>
            <guid isPermaLink="true">https://viblo.asia/p/su-khac-biet-giua-shared-session-vs-default-session-trong-urlsession-1Je5E6W0KnL</guid>
            <description><![CDATA[URLSession
Mình đã có bài viết về URLSession là gì, khi nào cần sử dụng và cách tạo một session để fetch data từ internet. Nếu là người mới tiếp cận v...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Quang</dc:creator>
            <pubDate>2021-09-20 15:00:02</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Throwing properties trong Swift]]></title>
                        <link>https://viblo.asia/p/throwing-properties-trong-swift-4dbZNXRa5YM</link>
            <guid isPermaLink="true">https://viblo.asia/p/throwing-properties-trong-swift-4dbZNXRa5YM</guid>
            <description><![CDATA[Swift 5.5 cho phép chúng ta throw error ngay cả khi define computed properties, chứ không chỉ riêng ở function nữa.

Cách define throwing properties t...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hà Tuấn Thịnh</dc:creator>
            <pubDate>2021-09-19 13:52:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tản mạn về Class trong Swift]]></title>
                        <link>https://viblo.asia/p/tan-man-ve-class-trong-swift-L4x5xPJO5BM</link>
            <guid isPermaLink="true">https://viblo.asia/p/tan-man-ve-class-trong-swift-L4x5xPJO5BM</guid>
            <description><![CDATA[
Các class giống như việc xây dựng các kiểu dữ liệu phức tạp, có nghĩa là nó chứa nhiều kiểu dữ liệu. Các class trông tương tự như một struct, nhưng c...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Tuan Anh N</dc:creator>
            <pubDate>2021-09-18 23:39:39</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[iOS] Building A Messaging Realtime App]]></title>
                        <link>https://viblo.asia/p/ios-building-a-messaging-realtime-app-Eb85oOO252G</link>
            <guid isPermaLink="true">https://viblo.asia/p/ios-building-a-messaging-realtime-app-Eb85oOO252G</guid>
            <description><![CDATA[Trong bài hôm nay, chúng ta sẽ xây dựng một cuộc trò chuyện nhóm thời gian thực cho iOS bằng cách sử dụng Scaledrone Swift API Client.

Setting Up The...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Le Thi Diem My</dc:creator>
            <pubDate>2021-09-17 23:18:02</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[SwiftUI] ProgressView, Link, TextEditor]]></title>
                        <link>https://viblo.asia/p/swiftui-progressview-link-texteditor-ByEZkjrgKQ0</link>
            <guid isPermaLink="true">https://viblo.asia/p/swiftui-progressview-link-texteditor-ByEZkjrgKQ0</guid>
            <description><![CDATA[Ở hướng dẫn này bạn sẽ học được:

* Cách sử dụng ProgressView
* Cách sử dụng Link
* Cách sử dụng TextEditor

Điều kiện tiên quyết
Để làm theo hướng dẫ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tran Huu Tan</dc:creator>
            <pubDate>2021-09-17 09:28:59</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tổng hợp về Protocol &amp; Closure trong iOS]]></title>
                        <link>https://viblo.asia/p/tong-hop-ve-protocol-closure-trong-ios-RnB5ppWr5PG</link>
            <guid isPermaLink="true">https://viblo.asia/p/tong-hop-ve-protocol-closure-trong-ios-RnB5ppWr5PG</guid>
            <description><![CDATA[1. Giới Thiệu
1. 1.Protocol

sơ lược về định nghĩa protocol như sau:

*  là một kiểu interface
*  mang tính chất trừu tượng
*  khai báo các properties...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">DoanhND</dc:creator>
            <pubDate>2021-09-14 00:28:18</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Lập Trình Hướng Đối Tượng (OOP)]]></title>
                        <link>https://viblo.asia/p/lap-trinh-huong-doi-tuong-oop-gDVK2d4jlLj</link>
            <guid isPermaLink="true">https://viblo.asia/p/lap-trinh-huong-doi-tuong-oop-gDVK2d4jlLj</guid>
            <description><![CDATA[OOP là gì? 4 đặc tính cơ bản của OOP
 OOP ( Viết tắt của Object Oriented Progamming ) - Lập trình hướng đối tượng là một phương pháp lập trình dựa trê...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">DoanhND</dc:creator>
            <pubDate>2021-09-11 18:22:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tự động hóa trên iphone]]></title>
                        <link>https://viblo.asia/p/tu-dong-hoa-tren-iphone-4dbZNX4g5YM</link>
            <guid isPermaLink="true">https://viblo.asia/p/tu-dong-hoa-tren-iphone-4dbZNX4g5YM</guid>
            <description><![CDATA[Tiếp tục seri về những tip and trick mà mình khám phá được trên chiếc dế yêu của mình, nó sẽ không phải như các trang công nghệ đi rì view điện thoại ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tun Tun</dc:creator>
            <pubDate>2021-08-27 20:47:42</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Sử dụng enum thay cho boolean trong Swift]]></title>
                        <link>https://viblo.asia/p/su-dung-enum-thay-cho-boolean-trong-swift-eW65G6ePlDO</link>
            <guid isPermaLink="true">https://viblo.asia/p/su-dung-enum-thay-cho-boolean-trong-swift-eW65G6ePlDO</guid>
            <description><![CDATA[Cũng lâu lâu về trước mình đọc được một bài nói về việc sử dụng two-cased enum trong Swift, thấy hay nên mình cũng làm theo thử. Hiện giờ dùng được mộ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hà Tuấn Thịnh</dc:creator>
            <pubDate>2021-08-20 18:55:59</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Sử dụng Codable - Encodable trong iOS Swift]]></title>
                        <link>https://viblo.asia/p/su-dung-codable-encodable-trong-ios-swift-yMnKM6nrZ7P</link>
            <guid isPermaLink="true">https://viblo.asia/p/su-dung-codable-encodable-trong-ios-swift-yMnKM6nrZ7P</guid>
            <description><![CDATA[Giới thiệu
Codable được giới thiệu trong Swift 4 cung cấp cơ chế chuyển đổi giữa JSON object sang data model và ngược lại.
Codable là một typalias của...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lê Thị Vân Anh</dc:creator>
            <pubDate>2021-08-20 17:21:41</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tạo mã QR code trong SwiftUI]]></title>
                        <link>https://viblo.asia/p/tao-ma-qr-code-trong-swiftui-bJzKmogPl9N</link>
            <guid isPermaLink="true">https://viblo.asia/p/tao-ma-qr-code-trong-swiftui-bJzKmogPl9N</guid>
            <description><![CDATA[Xin chào mọi người ngày hôm nay mình sẽ hướng dẫn mọi người cách để có thể tạo ra các mã QR Code trong SwiftUI sẽ như thế nào nhé.
Video dưới sẽ là de...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thân Đức Huy</dc:creator>
            <pubDate>2021-08-24 09:24:33</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Record &amp; Play một Audio Clip trong iOS]]></title>
                        <link>https://viblo.asia/p/record-play-mot-audio-clip-trong-ios-ORNZqn9nl0n</link>
            <guid isPermaLink="true">https://viblo.asia/p/record-play-mot-audio-clip-trong-ios-ORNZqn9nl0n</guid>
            <description><![CDATA[AVFoundation Framework cung cấp rất nhiều chức năng cho các nhà phát triển để xử lý dữ liệu âm thanh.

Ứng dụng iOS có thể truy cập micrô của người dù...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Tuan Anh N</dc:creator>
            <pubDate>2021-08-19 09:40:03</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Static Factory Pattern trong Swift]]></title>
                        <link>https://viblo.asia/p/static-factory-pattern-trong-swift-Qpmle1QNlrd</link>
            <guid isPermaLink="true">https://viblo.asia/p/static-factory-pattern-trong-swift-Qpmle1QNlrd</guid>
            <description><![CDATA[Đây là bài dịch từ trang medium.com. Mời các bạn xem bài gốc tại đây: https://medium.com/swlh/static-factory-pattern-f1d4897ebc3d

Đưa mã của bạn lên ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hung le Duc</dc:creator>
            <pubDate>2021-08-18 21:10:30</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cách thực hiện các ràng buộc API với @available trong Swift]]></title>
                        <link>https://viblo.asia/p/cach-thuc-hien-cac-rang-buoc-api-voi-atavailable-trong-swift-bJzKmokXl9N</link>
            <guid isPermaLink="true">https://viblo.asia/p/cach-thuc-hien-cac-rang-buoc-api-voi-atavailable-trong-swift-bJzKmokXl9N</guid>
            <description><![CDATA[Bài viết này là một mẹo rất nhanh về cách giúp bạn giới hạn code của mình với một số phiên bản hoặc làm cho nó hoàn toàn không khả dụng trong Swift.

...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Long Vu Thanh</dc:creator>
            <pubDate>2021-08-19 14:20:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[SWIFT] Dependency Injection in iOS]]></title>
                        <link>https://viblo.asia/p/swift-dependency-injection-in-ios-Qpmle1mVlrd</link>
            <guid isPermaLink="true">https://viblo.asia/p/swift-dependency-injection-in-ios-Qpmle1mVlrd</guid>
            <description><![CDATA[Trong bài viết này, chúng ta sẽ cùng tìm hiểu về Dependency Injection - một trong những nguyên tắc lập trình vô cùng quan trọng để viết code "sạch" (h...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Duc Huy B</dc:creator>
            <pubDate>2021-11-29 20:04:06</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Subject là gì và cách khởi tạo các Subject trong RxSwift]]></title>
                        <link>https://viblo.asia/p/subject-la-gi-va-cach-khoi-tao-cac-subject-trong-rxswift-Az45b0XgZxY</link>
            <guid isPermaLink="true">https://viblo.asia/p/subject-la-gi-va-cach-khoi-tao-cac-subject-trong-rxswift-Az45b0XgZxY</guid>
            <description><![CDATA[Giới thiệu
* RxSwift là 1 phiên bản mở rộng của Reactive, nó là sự kết hợp Observer, Iterator, Functional Programing, nó giúp chúng ta có thể phản ứng...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lê Hùng Phong</dc:creator>
            <pubDate>2021-08-12 13:14:13</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[SwiftUI] Image, Saturation, HueRotation]]></title>
                        <link>https://viblo.asia/p/swiftui-image-saturation-huerotation-aWj53oyw56m</link>
            <guid isPermaLink="true">https://viblo.asia/p/swiftui-image-saturation-huerotation-aWj53oyw56m</guid>
            <description><![CDATA[Ở hướng dẫn này bạn sẽ học được:
* Làm thế nào để thay đổi kích thước hình ảnh.
* Làm thế nào để mask hình ảnh của bạn.
* Tác dụng của LuminanceToAlph...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tran Huu Tan</dc:creator>
            <pubDate>2021-08-10 11:48:16</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Sử dụng async/await trong Swift.]]></title>
                        <link>https://viblo.asia/p/su-dung-asyncawait-trong-swift-V3m5WmDvZO7</link>
            <guid isPermaLink="true">https://viblo.asia/p/su-dung-asyncawait-trong-swift-V3m5WmDvZO7</guid>
            <description><![CDATA[- Cơ chế mới xử lý mới async/await đã được giới thiệu ở Swift 5.5 tại WWDC 2021 tho thấy sự tập trung và ưu tiên trong việc phát triển cơ chế concuren...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Phuc Khanh</dc:creator>
            <pubDate>2021-08-16 08:21:21</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[RxSwift: Sử dụng Delegate Pattern trong RxSwift với DelegateProxy]]></title>
                        <link>https://viblo.asia/p/rxswift-su-dung-delegate-pattern-trong-rxswift-voi-delegateproxy-924lJje0lPM</link>
            <guid isPermaLink="true">https://viblo.asia/p/rxswift-su-dung-delegate-pattern-trong-rxswift-voi-delegateproxy-924lJje0lPM</guid>
            <description><![CDATA[I.Giới thiệu:
Delegate Pattern trong iOS là một pattern thông dụng và phổ biến, được áp dụng nhiều trong framework UIKit của Apple. Delegate Pattern g...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Trịnh Giang Đông</dc:creator>
            <pubDate>2021-07-21 21:28:58</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[SwiftUI] VideoPlayer, SKOverlay]]></title>
                        <link>https://viblo.asia/p/swiftui-videoplayer-skoverlay-Qbq5QDVXlD8</link>
            <guid isPermaLink="true">https://viblo.asia/p/swiftui-videoplayer-skoverlay-Qbq5QDVXlD8</guid>
            <description><![CDATA[Điều kiện tiên quyết
Để làm theo hướng dẫn này, bạn sẽ cần:

* Cơ bản với Swift.
* Xcode 12 trở lên.
* Chỉ hỗ trợ iOS 14 trở lên

Bắt đầu với VideoPla...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tran Huu Tan</dc:creator>
            <pubDate>2021-07-21 20:40:13</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Sử dụng AsyncImage trong SwiftUI trên iOS 15]]></title>
                        <link>https://viblo.asia/p/su-dung-asyncimage-trong-swiftui-tren-ios-15-ByEZkr8oKQ0</link>
            <guid isPermaLink="true">https://viblo.asia/p/su-dung-asyncimage-trong-swiftui-tren-ios-15-ByEZkr8oKQ0</guid>
            <description><![CDATA[I. Giới thiệu

Trong hội nghị cho các nhà phát triển WWDC 2021, Apple đã giới thiệu rất nhiều feature mới cho SwiftUI để giúp chúng ta code dễ dàng hơ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hungbv</dc:creator>
            <pubDate>2021-07-20 21:39:11</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Các Swift Extension hữu dụng]]></title>
                        <link>https://viblo.asia/p/cac-swift-extension-huu-dung-jvElaaNYlkw</link>
            <guid isPermaLink="true">https://viblo.asia/p/cac-swift-extension-huu-dung-jvElaaNYlkw</guid>
            <description><![CDATA[Đây là bài dịch tự trang medium.com. Bài gốc mời các bạn xem tại đây.

Tăng tốc quá trình phát triển và tạo mã sạch hơn.

Lần này chúng tôi sẽ trình b...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hung le Duc</dc:creator>
            <pubDate>2021-07-19 14:28:48</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cách kiểm tra kết nối VPN và Wifi trong iOS (Swift)]]></title>
                        <link>https://viblo.asia/p/cach-kiem-tra-ket-noi-vpn-va-wifi-trong-ios-swift-gDVK2OoeZLj</link>
            <guid isPermaLink="true">https://viblo.asia/p/cach-kiem-tra-ket-noi-vpn-va-wifi-trong-ios-swift-gDVK2OoeZLj</guid>
            <description><![CDATA[Do yêu cầu công việc nên chúng ta phải tìm cách kiểm tra xem người dùng có đang sử dụng kết nối VPN hoặc Wifi hay không. Bài viết này mình sẽ hướng dẫ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Trong Hieu</dc:creator>
            <pubDate>2021-07-19 13:21:38</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Sử dụng Tuple cho các thao tác sắp xếp phức tạp trong Swift]]></title>
                        <link>https://viblo.asia/p/su-dung-tuple-cho-cac-thao-tac-sap-xep-phuc-tap-trong-swift-Do7543delM6</link>
            <guid isPermaLink="true">https://viblo.asia/p/su-dung-tuple-cho-cac-thao-tac-sap-xep-phuc-tap-trong-swift-Do7543delM6</guid>
            <description><![CDATA[Hôm nay chúng ta sẽ khám phá một số khả năng sắp xếp bằng cách sử dụng Tuple. Thao tác sắp xếp khá đơn giản trong Swift và có thể được sử dụng tự động...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Long Vu Thanh</dc:creator>
            <pubDate>2021-07-17 14:02:21</pubDate>
                                                                                                        </item>
            </channel>
</rss>
