草庐IT

VT_ARRAY

全部标签

arrays - 为什么 Swift Array<Int> 与 AnyObject 兼容?

考虑代码:structS{varf:Int64=0}...letcoder:NSCoder=someCoder...leta:[Int]=[]coder.encodeObject(a)//compilesletb:[Int64]=[]coder.encodeObject(b)//doesn'tcompile:notAnyObjectlets:[S]=[]coder.encodeObject(s)//doesn'tcompile:notAnyObject请注意,Int被定义为struct。所以[Int]是对象,但[Int64]不是,我的简单结构数组也不是。Int有什么特别之处?

arrays - Swift 与 JavaScript 的 Array.some() 和 Array.every() 对应的是什么?

Swift为Array提供了map,filter,reduce,...但我是找不到some(或any)或every(或all)在JavaScript中对应的是Array.some和Array.every.是我看得不够仔细还是它们确实存在?Arelatedquestionhere正在寻找Swift的all方法,但是JS程序员可能找不到(JS中没有all和some或any未提及)。 最佳答案 更新:使用allSatisfy(all)和contains(where:)(一些)。旧答案:只需使用contains.//checkifALLit

ios - 无法将类型 'Array<_>' 的值分配给类型 'Array' Xcode 7.1.1

当我尝试在Xcode7.1中从Xcode7.0构建我的项目时遇到此错误。编辑:我在Xcode7.1.1中仍然遇到此错误,即使我从出现错误的类中注释了我的所有代码。这个问题可能来自哪里?你有好主意吗?我在4个不同的类中有错误,其中一个是:importUIKitclassSubInterestCell:UITableViewCell{privatevarisSelected:Bool=false@IBOutletweakvarnameLabel:UILabel!overridefuncawakeFromNib(){super.awakeFromNib()//Initializationco

swift - Array 在哪里定义 Element 关联类型?

在Swift2.3中,Array在哪里定义Element关联类型?它必须定义它,因为它实现了GeneratorType,它具有Element关联的类型。Dictionary和Set都定义了Element,但是Array在哪里定义它?Array有一个称为Element的通用类型,具有通用类型是否满足GeneratorType协议(protocol)?我在playground上试过了,但对我来说没有用。例如protocolAnimal{associatedtypeBreed}structDog:Animal{} 最佳答案 在Swift2

swift - Array 的静态通用扩展,用于迭代异步回调的帮助功能

我有两个帮助方法,我想将其移至扩展以提高其可重用性。这两种方法在调用并行http请求时管理多个回调。但是,当使方法静态并将它们移动到扩展时,我收到此错误:Cannotconvertvalueoftype'[Action]'toexpectedargumenttype'[_]'代码是extensionArray{privatestaticfunciterateObjectList(objectList:[Type],multiplier:Int=1,foreach:(object:Type,(newObject:Type?,error:NSError?)->Void)->(),final

arrays - 向下转换多个协议(protocol) Array<protocol<P1, P2>> 到 Array<P1>

所以我有两个数组vararrayOne:Array>vararrayTwo:Array其中P1和P2是协议(protocol)。问题是如何进行向下转型arrayTwo=arrayOneasArray我从Xcode得到的是:Cannotconvertvalueoftype'Array>'tospecifiedtype'Array' 最佳答案 您需要转换数组的元素,而不是数组本身。arrayTwo=arrayOne.map{$0asP1}或者正如MartinR所说,甚至不需要强制转换元素。arrayTwo=arrayOne.map{$0

ios - 从 ImplicitlyUnwrappedOptional<Swift.AnyObject> 到 Array<AnyObject> 的午睡 Swift 转换

我正在配置午睡的ResponseTransformer以返回对象数组。service.configureTransformer("/models/*"){Model.instantiate($0.content)}但不知何故,当我尝试使用letobjects=response.contentas![Object]将它们转换回数组时我有这个异常(exception)Couldnotcastvalueoftype'Swift.ImplicitlyUnwrappedOptional'(0x382a0a0)to'Swift.Array'(0x16f5358). 最佳

ios - 如何在 Metal 中绑定(bind) Array Texture 2D

我正在尝试按照我可以从互联网上挖掘的内容在Metal中使用二维数组纹理。我能够成功地初始化我的纹理数组,但现在我遇到了一个错误,该错误在将纹理与myEncoder.setFragmentTexture(myTextureArray,index:myIndex)绑定(bind)后出现:Failedassertion`FragmentFunction(basicFragment):incorrecttypeoftexture(MTLTextureType2DArray)boundattexturebindingatindex0(expectMTLTextureType2D)fortextu

arrays - 创建具有固定计数的 Swift Array<Float> 的最快方法

我注意到了这一点:leta=[Float](repeating:0,count:len)比仅仅花费更多的时间letp=UnsafeMutablePointer.allocate(capacity:len)但是unsafe指针使用起来不是很方便,可能需要创建一个Array传递给其他代码。leta=Array(UnsafeBufferPointer(start:p,count:len))但是这样做绝对会杀死它,而且只创建Array会更快用零填充。知道如何创建Array更快,同时,有一个实际的Array便利?在我的项目上下文中,我可能可以在内部处理不安全指针并用Array包装它仅在模块外需要

arrays - 将 Swift Array 的内容复制到 Struct embedded Tuple

为了与BLE特征进行通信,我有一个Swift结构,如下所示:structPacket{varcontrol1:UInt8=0varcontrol2:UInt8=0varpayload:(UInt8,UInt8,UInt8,UInt8,UInt8,UInt8,UInt8,UInt8,UInt8,UInt8,UInt8,UInt8,UInt8,UInt8,UInt8,UInt8)=(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)init(control1:UInt8,control2:UInt8){self.control1=control1self.control2=c