GeneratorType (IteratorProtocol in Swift 3):Generators
là cái gì đó có thể cung cấp cho các yếu tố next
của một số dãy, nếu không có yếu tố nó trả nil
. Generators
đóng gói trạng thái lặp lại và giao diện để lặp qua một chuỗi.
Máy phát điện hoạt động bằng cách cung cấp một phương thức, cụ thể là - next()
, chỉ đơn giản trả về giá trị tiếp theo từ số sequence
cơ bản.
lớp Sau Áp dụng GeneratorType Protocol:
DictionaryGenerator, EmptyGenerator, hơn here.
SequenceType (Sequence in Swift 3): Một Sequence
đại diện cho một loạt các giá trị. Sequence
là loại có thể được lặp lại với vòng lặp for...in
.
Về cơ bản, chuỗi là một nhà máy phát điện; một cái gì đó mà biết làm thế nào để làm cho máy phát điện cho một chuỗi.
lớp Sau Áp dụng SequenceType Protocol:
NSArray, NSDictionary, NSSet và more.
CollectionType (Collection in Swift 3):Collection
là một SequenceType
có thể được truy cập thông qua subscript và định nghĩa một startIndex
và endIndex
. Collection
là một bước vượt quá trình tự; các yếu tố riêng lẻ của một bộ sưu tập có thể được truy cập nhiều lần.
CollectionType
thừa hưởng từ SequenceType
lớp Sau Áp dụng CollectionType Protocol:
Array, Dictionary, Set, Range và more.
Mẫu biết thêm thông tin bạn có thể thấy this, this, và this
Xin vui lòng sửa cho tôi nếu tôi sai.** 1) ** 'Array',' Dictionary' và 'Set' tất cả đều phù hợp với' collectionType' (chính nó thực hiện SequenceType (có hàm có tên 'next' trả về một cái gì đó thực hiện' GeneratorType'))? ** 2) ** Bạn có thể cập nhật câu trả lời của mình để bao gồm một số loại Swift Foundation phù hợp với từng giao thức trong 3 giao thức được đề cập không? – Honey
Cảm ơn. Bạn cũng không thể chỉ số hoặc lấy chỉ mục đầu tiên và cuối cùng của NSArray hoặc NSDictionary? – Honey