Tuple trong Swift

Tram Ho

Hai năm trước, khi tôi bắt đầu với iOS, tôi không biết tuple là gì, tại sao và nơi tôi sẽ sử dụng chúng. Trong vài tuần sau đó, tôi nhận ra rằng tôi thực sự đang sử dụng chúng ở mọi nơi, tôi chỉ không biết điều đó.

Ví dụ nhỏ:

Đôi khi thậm chí vô tình bạn chạy func mà không làm gì, và trình biên dịch nói gì về điều đó. Trình biên dịch return() một tuple trống.

Swift đang ánh xạ trả về void trong tuples.

Tuples không có một định nghĩa chính thức, không rõ ràng, nhưng dễ tạo và rất dễ sử dụng.

Tuy nhiên nó cũng có những nhược điểm, chúng không thể implement các method và protocol.
Và giống như mọi bộ khác, bạn không thể thay đổi loại của nó.

Đây là một ví dụ cơ bản:

Đây là một chủ đề nâng cao với closure:

Ngay cả khi bạn không thể thêm phương thức vào tuple, bạn có thể thêm closure

Thành thật mà nói, tôi không nhớ ngay cả đã làm điều này trong các tình huống thực tế, nhưng tôi biết điều này sẽ hiệu quả, nhưng có một vấn đề với closure và tuple với nhau.
Bạn không thể truy cập một số yếu tố theo cách này:

Vậy chúng được sử dụng nhiều nhất ở đâu?

Giống như trong các bài viết khác đề cập đến chủ đề này, tôi cũng sẽ nói như vậy:

Khi bạn cần một func sẽ trả về nhiều loại giá trị.

Nhưng điều đó có nghĩa là gì, trong thực tế. Có lẽ bạn sẽ không viết bất cứ điều gì như thế này:

Nhưng trong ít nhất 50% ứng dụng, bạn sẽ có một cái gì đó như thế này:

Điều này thật tuyệt, nhưng swift thậm chí còn có cách tốt hơn để làm điều này

Tóm tắt điều này, trong hầu hết các trường hợp, bạn sẽ sử tuple làm loại kết quả trả về của lệnh call API, escaping closure.

Typealias và tuples:

Tuple rất tốt cho chức năng này, việc viết các hàm có bộ dữ liệu là kiểu trả về sẽ dễ dàng hơn nhiều nếu bạn thực hiện chúng như thế này.

Tuples có thể rất dài và có thể lặp lại nhiều lần trong cùng một method.

Ví dụ:

Ví dụ thực tế:

Một cái gì đó khác nữa mà tôi có thể đề cập là một tuple tùy chọn:

Cuối cùng là mẹo kiểm tra phỏng vấn có thể được thực hiện với tuple và chắc chắn bạn sẽ nhận được nhiều điểm hơn ?
Chúng ta đều biết về thử nghiệm fizzbuzz. Bạn sẽ nhận được một dãy số và bạn sẽ cần kiểm tra số nào chia hết cho hai số còn lại, trong hầu hết các trường hợp là 3 và 5.

Phần kết luận

Tôi hy vọng bạn thích điều này, nếu có bất cứ điều gì không rõ ràng về điều này, hoặc bạn có một cái gì đó tuyệt vời hoặc thực sự nâng cao về chủ đề này xin vui lòng bình luận.

Nguồn: Medium

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo