草庐IT

CollectionType

全部标签

swift - swift 中的 SequenceType 和 CollectionType 有什么区别?

请解释一下Swift编程语言中SequenceType、GeneratorType和CollectionType的区别。此外,如果我要实现自己的数据结构,使用SequenceType、GeneratorType或CollectionType协议(protocol)有什么优势? 最佳答案 GeneratorType(IteratorProtocolinSwift3):Generators是可以给出某个序列的next元素的东西,如果没有元素则返回nil。Generators封装迭代状态和序列迭代接口(interface)。生成器通过提供

swift - swift 中的 SequenceType 和 CollectionType 有什么区别?

请解释一下Swift编程语言中SequenceType、GeneratorType和CollectionType的区别。此外,如果我要实现自己的数据结构,使用SequenceType、GeneratorType或CollectionType协议(protocol)有什么优势? 最佳答案 GeneratorType(IteratorProtocolinSwift3):Generators是可以给出某个序列的next元素的东西,如果没有元素则返回nil。Generators封装迭代状态和序列迭代接口(interface)。生成器通过提供

当我扩展 CollectionType 时,Swift 不会调用我的 "=="运算符重载

我有一个继承自NSManagedObject的自定义类(VotingOption),有时我想检查数组中的某些投票选项是否重复。我试图使我的代码尽可能通用。这是我为扩展CollectionType协议(protocol)所做的:extensionCollectionTypewhereSelf.Generator.Element:Equatable{varduplicates:[Self.Generator.Element]{return=self.filter{elementinreturnself.filter{$0==element}.count!=1}}varhasDuplicat

swift - 为 CollectionType(数组)添加排序功能

我想将自己的排序功能添加到数组中,因此我正在尝试扩展CollectionType协议(protocol)以添加此功能。这是我目前所拥有的:extensionCollectionTypewhereGenerator.Element:Comparable,Index:IntegerType{funcpsoInsertionSort(){varkey:Generator.Elementvarx,y:Intfor(x=0;x=0;y--){ifkey我需要将CollectionType中的元素约束为Comparable以进行实际排序,我相信那里没有问题。我遇到的问题是在for循环参数中:for

swift - 如何将通用的 "CollectionType"传递给快速关闭?

首先,我知道这是完全错误的语法,但它说明了我想做什么:publicfuncx(completion:CollectionType->Void){}基本上,我想做的是编写一个闭包,它接受一个支持CollectionType协议(protocol)的对象,并包含一个“MyClass”对象的集合。我不关心它是什么类型的集合。如果它支持CollectionType,那么我应该能够获得“第n个”对象,或者通过对象进行枚举等。我读过你不能在闭包中传递泛型,所以这可能是不可能的。如果没有,我很乐意听听如何去做。 最佳答案 您可以使用其中一种采用A

swift - 泛型类型之间的循环依赖(例如 CollectionType 及其索引/生成器)

给定一个struct基于泛型CollectionType……structMyCollection:CollectionType,MyProtocol{typealiasIndex=MyIndexsubscript(i:Index)->Element{…}funcgenerate()->IndexingGenerator{returnIndexingGenerator(self)}}…如何定义Index为它……structMyIndex:BidirectionalIndexType{funcpredecessor()->MyIndex{…}funcsuccessor()->MyIndex

swift - 我如何定义 CollectionType 的扩展,以便它的方法可用于字典?

我最近能够更改扩展名:extensionArraywhereElement:Encodable{...}到:extensionCollectionTypewhereGenerator.Element:Encodable{...}为了以后能够在不同的扩展中使用CollectionType和Encodable应用类型约束。现在我尝试用Dictionary做同样的事情,改变:extensionDictionarywhereKey:StringLiteralConvertible,Value:Encodable{...}到:extensionCollectionTypewhereGenerat

php - Symfony 表单 - 在 CollectionType 中的子条目类型中访问实体

我正在尝试访问FormBuilder内父级CollectionType中给定嵌入表单的实体:父类型ClassParentTypeextendsAbstractType{publicfunctionbuildForm(FormBuilderInterface$builder,array$options){$builder->add('children',CollectionType::class,array('entry_type'=>ChildType::class);}}子类型classChildTypeextendsAbstractType{publicfunctionbuildF
12