1. Tuples trong Swift có loại nào?

Trong Swift hiện có hai loại tuples chính, thứ nhất là loại có đặt tên key (Named Tuples) và thứ hai là loại không đặt tên (Unnamed Tuples). Tùy theo nhu cầu mà bạn chọn loại phù hợp với dự án của mình.

Nếu bạn đã từng học qua mảng trong PHP thì có thể so sánh với mảng có chỉ mục và mảng kết hợp. Hoặc bạn đã từng học qua JSON Javascript thì nó giống như mảng Array và Object.

Unnamed Tuples

Trong Swift ta sử dụng dạng unnamed Tuples để lưu trữ danh sách các dữ liệu mà không có đặt tên, mỗi giá trị sẽ được cách nhau bằng dấu phẩy.

Xem ví dụ dưới đây để hiểu rõ hơn về loại này.

1
2
3
let userInfo = ("Suresh Dasari", 200)
Or
var userinfo:(String, Int) = ("Suresh Dasari", 200)

Trong ví dụ này mình đã tạo một Tuple gồm hai giá trị, đầu tiên là kiểu String và thứ hai là kiểu Int. Bạn có thể khai báo bằng hai cách trên đều đúng.

Named Tuples

Giống với tên của nó, loai này bạn sẽ đặt tên cho từng giá trị trong tuple. Cách này nhìn rất tường minh và rất dễ hiểu, bạn có thể xem ví dụ dưới đây để hiểu hơn.

1
2
3
let userinfo = (name: "Suresh Dasari", id: 200)
Or
var userinfo:(name:String, id:Int) = ("Suresh Dasari", 200)

Mình đã định nghĩa hai key là name và id cho hai giá trị trên.

Bạn có thể đặt tên key bất kì, miễn là chữ cái tiếng Anh không có dấu và ký tự đặc biệt.

2. Làm việc với Tuples trong Swift

Là một loại dữ liệu đặc biệt nên nó sẽ hỗ trợ chúng ta cách truy xuất các phần tử trong Tuples, cách thêm tuple mới và xóa tuple ra khỏi danh sách.

Ví dụ dưới đây thể hiện một số thao tác trong Tuples thường gặp nhất.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Khởi tao và truy xuất Tupe đơn giản
let tp1 = ("Suresh Dasari", 200)
print(tp1.0) // phần tử đầu tiên
print(tp1.1) // phần tử thứ hai
let tp2 = (5, 10, 7)
print(tp2)
// Khai báo hai biến gán giá trị
// lần lượt cho phần tử trong tuple
let (uname,uid) = tp1
let result = uname +", "+ uid
print(result)
// Sử dụng (_) to bỏ qua phần tử Tuple thứ hai
let (onlyname,_) = tp1
print(onlyname)
// Truy xuất loại named tuple
let un = (name: "Suresh Dasari", id: 200)
print(un.name)
print(un.id)

3. Ví dụ sử dụng Switch Case với Tuples

Sau đây là ví dụ đơn giản về việc sử dụng tuples với câu lệnh Switch Case trong ngôn ngữ lập trình swift.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
let coordinates: (x: Int, y: Int, z: Int) = (3, 2, 5)
switch coordinates {
    case (0, 0, 0):
        print("Origin")
    case (_, 2, 5):
        print("On x axis.")
    case (1, _, 0):
        print("On y axis.")
       
    case (1, 2, _):
        print("On z axis.")
    default:
        print("Somewhere in space")
}

Chạy chương trình này ta sẽ thu được kết quả như sau:

On x axis.

Nguyên nhân là do tại case thứ hai ta đã sử dụng một giá trị bỏ qua (_, 2, 5) nên việc so khớp ở đây là hoàn toàn đúng.

Đây là cách chúng ta có thể sử dụng các bộ dữ liệu Tuple trong ngôn ngữ lập trình Swift để gom nhóm nhiều giá trị đơn thành một giá trị ghép để sử dụng nó trong các ứng dụng dựa trên yêu cầu của chúng ta.

Cảm ơn các bạn đã theo dõi bài viết này.

Theo: freetuts.net

 

ĐĂNG KÝ THÀNH VIÊN

NẾU NỘI DUNG HỮU ÍCH HÃY XEM QUẢNG CÁO ĐỂ ỦNG HỘ

NẾU NỘI DUNG HỮU ÍCH HÃY XEM QUẢNG CÁO ĐỂ ỦNG HỘ

Được quan tâm nhiều nhất

  • Apple Watch Series 5 Teardown - Always on Display Explained

  • Phim Ngắn Đột Kích - Phiên bản 10 năm trước

  • iPhone 11 Pro Max Teardown - Tiny Motherboard & BIG Battery!

  • Apple Watch Series 4 Teardown

Bạn thấy bài viết này thế nào?
Thể hiện yêu thương tác giả ở đây nhé!

Thích bài viết

thích

Chia sẻ ngay!

phuongle

Thành viên từ: 10/12/2019

Điểm uy tín: 5,987

SMod: 1,289 hướng dẫn đã chia sẻ

Team

Lập Trình Thành viên của Lập Trình

1 Thành viên

1,289 bài viết

Thêm bình luận

Bình luận bằng tài khoản Facebook

After viewing your support content - Please click advertisement for Support & Donate us team! Đóng