Tuple là một nhóm các giá trị khác nhau được biểu diễn thành một. Theo apple, một loại tuple là một danh sách được phân tách bằng dấu phẩy gồm không hoặc nhiều loại, được đặt trong dấu ngoặc đơn . Đó là một phiên bản thu nhỏ của một cấu trúc.
Hãy xem xét một ví dụ: Một cái tên nói rằng John smith có thể được khai báo như một bộ giá trị như thế ("John", "Smith"). Nó chứa họ và tên của một người. Bạn có thể truy cập các giá trị bên trong bằng cách sử dụng .ký hiệu dấu chấm ( ) theo sau là chỉ mục của giá trị:
var person = ("John", "Smith")
var firstName = person.0 // John
var lastName = person.1 // Smith
()là bộ giá trị rỗng - nó không có phần tử nào. Nó cũng đại diện cho Voidloại.
Tuples không tuân theo giao thức có thể băm. Do đó nó không thể được sử dụng làm khóa từ điển.
Bạn có thể khai báo một tuple giống như bất kỳ biến hoặc hằng số nào khác. Để khởi tạo nó, bạn sẽ cần một tuple khác hoặc một tuple theo nghĩa đen. Một chuỗi ký tự là một danh sách các giá trị được phân tách bằng dấu phẩy giữa một cặp dấu ngoặc đơn. Bạn có thể sử dụng ký hiệu dấu chấm để thay đổi các giá trị từ một bộ giá trị nếu nó được khai báo là một biến.
var point = (0, 0)
point.0 = 10
point.1 = 15
point // (10, 15)
var origin = (x: 0, y: 0)
var point = origin
point.x = 3
point.y = 5
print(origin) // (0, 0)
print(point) // (3, 5)
Bạn có thể đặt tên cho các phần tử từ một bộ và sử dụng các tên đó để tham chiếu đến chúng. Tên phần tử là một định danh theo sau bởi dấu hai chấm (:).
var person = (firstName: "John", lastName: "Smith")
var firstName = person.firstName // John
var lastName = person.lastName // Smith
Bạn có thể sử dụng bộ giá trị để khởi tạo nhiều hơn một biến trên một dòng:
var (a, b, c) = (1, 2, 3)
Bạn có thể trả về nhiều giá trị từ một hàm nếu bạn đặt loại kết quả thành một bộ giá trị.
Xin lưu ý rằng các bộ giá trị được chuyển theo giá trị , không phải tham chiếu.
Trong đoạn mã trên, để có thể đọc mã, tôi đã sử dụng một typealiasđể xác định trước cấu trúc của tuple.
for (key,value) in myDictionary {
println("My key is \(key) and it has a value of \(value)")
}
Lưu ý : _nghĩa là "Tôi không quan tâm đến giá trị đó"
for (key,_) in myDictionary {
println("My key is \(key)")
}
let http404Error = (404, "Not Found")
// http404Error is of type (Int, String), and equals (404, "Not Found")
let (statusCode, statusMessage) = http404Error
print("The status code is \(statusCode)")
// Prints "The status code is 404"
print("The status message is \(statusMessage)")
// Prints "The status message is Not Found"
let (justTheStatusCode, _) = http404Error
print("The status code is \(justTheStatusCode)")
// Prints "The status code is 404"
print("The status code is \(http404Error.0)")
// Prints "The status code is 404"
print("The status message is \(http404Error.1)")
// Prints "The status message is Not Found"
let http200Status = (statusCode: 200, description: "OK")
chúng tôi sẽ trộn nó với nhau bằng cách tạo ra một tuple chứa một tuple khác.
let bar: (Int, (Bool, String)) = (1, (false, "Hello"))
print(bar.0) // print: “1”
print(bar.1.0) // print: “false”
print(bar.1.1) // print: “Hello”
var a = 5
var b = 4
(b, a) = (a, b)
Nơi tốt nhất để sử dụng một tuple sẽ là khi bạn muốn một hàm có thể trả về nhiều kiểu. Nếu bạn là nhà phát triển Objective-C, khái niệm này nghe có vẻ không khả thi trừ khi bạn sử dụng một mảng hoặc từ điển. Trước đây, chúng tôi đã phải khắc phục sự cố như vậy bằng cách trả về một NSArrayhoặc NSDictionary.
Nguồn: Bài báo vừa , W eheartswift .
Thưởng thức!!
Bạn có thể theo dõi tôi trên Medium để biết các bài viết mới. Ngoài ra, hãy kết nối với tôi trên LinkedIn .
Nếu bạn có bất kỳ nhận xét, câu hỏi hoặc đề xuất nào, hãy đăng chúng trong phần bình luận bên dưới!
Yếu tố thay đổi cuộc chơi cho hoạt động đi chung xe Trong tất cả những việc chúng tôi làm tại Lyft, dàn dựng các cuộc đón giữa người lái và người lái xe là một trong những việc phức tạp và quan trọng nhất. Việc hoàn thành vũ đạo này phụ thuộc vào việc Lyft làm tốt nhiều thứ nhưng chỉ đơn giản là giữ cho các tay đua bắt kịp tốc độ là điều cần thiết.
: Chu kỳ từ khởi chạy ứng dụng đến tắt máy: Khả năng sử dụng bằng cách quản lý bộ nhớ hoặc dữ liệu ⬆️ Bảo mật có thể được xử lý UIApplication, AppDelegate Tình huống:Xác định các chức năng mà đối tượng AppDelegate nhận thông điệp được gửi từ đối tượng UIApplication và thực thi từng Not Running: Trạng thái ứng dụng không chạyKhông hoạt động: Trạng thái nơi ứng dụng đang chạy nhưng không nhận được sự kiện nàoHoạt động: Trạng thái nơi ứng dụng đang chạy và một sự kiện xảy raNền: Trạng thái nơi ứng dụng ở chế độ nền nhưng mã đang được thực thiBị treo: Trạng thái nơi ứng dụng ở chế độ nền chạy nền và không chạy mã để làm chức năng ủy quyền trong tệp AppDelegate.swift SceneDelegate Để đáp ứng tốt chức năng nhiều cảnh được hỗ trợ từ iOS 13 trở đi AppDelegate / SceneDelegate AppDelegate 1.
Bởi Alyson Lee, cố vấn quản lý các vấn đề của chính phủ Quy trình phân bổ ngân sách hàng năm của chính phủ liên bang là trọng tâm trong những nỗ lực của chúng tôi nhằm tài trợ cho việc loại bỏ carbon dioxide (CDR). Mỗi năm, Carbon180 gửi yêu cầu tới các văn phòng quốc hội khác nhau để giúp hướng dẫn nơi đô la của năm tới sẽ chảy.
Đó là một buổi sáng vàng rực rỡ trên những ngọn đồi thoai thoải ở phía tây, khi những tia nắng đầu tiên chiếu sáng ngọn cỏ phủ sương trên đồng bằng. Một đàn gia súc Angus điềm đạm, đen tuyền và to lớn, in bóng dưới ánh bình minh khi chúng đi xuống con đường mòn bị đánh đập đến một địa phương mà tất cả chúng đều biết rõ; quán ăn sáng.
Đã bao nhiêu lần bạn vứt bỏ chai nhựa, lọ thủy tinh, lon nhôm hay gói năng lượng xanh mà không cần suy nghĩ kỹ? Đã bao nhiêu lần bạn ước mình có thể nhận được thứ gì đó để đổi lại việc tái chế chúng? Nếu bạn giống như hầu hết mọi người, câu trả lời có lẽ là nhiều lần. Tái chế thường được coi là một rắc rối, một công việc vặt hoặc một nhiệm vụ không mang lại bất kỳ lợi ích tức thời hoặc hữu hình nào.
Nó đập vào mắt tôi Đột ngột như nó thường xảy ra Nó lại ở giữa chừng <Không, không phải cái ở Thái Bình Dương đâu bạn màu hạt dẻ, cái ở lễ hội hóa trang> Mọi tiêu đề đều ầm ĩ…..