草庐IT

l_velocity_Array

全部标签

ios - Swift Array 正在从我的数组中打印单词 "optional"不想强制解包

我的数组:varsavedDataArray:Array?=NSUserDefaults.standardUserDefaults().objectForKey("savedDataArray")as?Array控制台打印Optional(["75500.0","2.19351e+08"])我不想要“可选”这个词或大括号强制展开varsavedDataArrayArray!停止出现“可选”一词,但我的数组可能是nil所以我不想这样做(而且牙套仍然存在)这与以下答案不同,因为它们都建议使用力展开Printingvalueofaoptionalvariableincludestheword

ios - Swift:Array 的 doesNotContain 方法

我熟悉contains(array,object)函数,但我需要一个“不包含”函数。我想不出任何解决它的逻辑,所以我需要一些帮助!我的代码目前与我需要的完全相反。它只是附加包含在array中的对象;我希望它附加每个不在array中的对象。代码在这里:vararray=["Ben","Jessica","Cody","Katie","Jacob"]ifarray.contains("Ben"){print("ContainsBen")} 最佳答案 感觉很蠢。!contains(array,"Ben")

Array<Any> 上的 Swift 模式匹配

swift1.2我正在尝试在一个以Any类型作为参数的函数中的switch案例中进行模式匹配,以便分派(dispatch)给一个更专业的私有(private)init。这是一个Playground推断:importFoundationstructmyStruct{}funcswitchOnAny(any:Any)->String{println("DynamicType==\(any.dynamicType)")switchany{caseletarrayas[Any]:return"Array"caseletarrayasNSArray:return"NSArray"default:

arrays - 是否可以在 Swift 中从 Array<String> 生成枚举?

这是我的枚举:enummyEnum:Int{caseapple=0caseorangecaselemon}我想从一个数组中创建它。数组元素可以是枚举的名称。letmyEnumDictionary:Array=["apple","orange","lemon"]那么是否可以从数组创建枚举? 最佳答案 不,这不可能。同样,您不能从数组创建类。必须编译枚举。您不能动态创建它们。 关于arrays-是否可以在Swift中从Array生成枚举?,我们在StackOverflow上找到一个类似的问题

arrays - 从另一个 Array<String> 过滤 Array<String> 的值

我有两个数组:letarr1=["one.json","two.json","three.json"]letarr2=["one.json","three.json"]现在我想删除arr1中arr2的所有值,因此我在上面示例中的预期结果将是letarrFiltered=["two.json"]。我知道如何使用for循环处理此问题,但是,我认为可能有更简单且更注重性能的解决方案? 最佳答案 在这种情况下,您必须使用Set而不是Array。letarr1=Set(["one.json","two.json","three.json"])

ios - swift 4 : Array for all types of Ints and Floating point numbers

我有一个程序可以处理所有类型的Ints和Floating指针值类型有没有一种方法可以创建数组来保存所有这些值?我尝试通过协议(protocol)来做到这一点,并用它们扩展Int和Double但没有成功,因为Swift中的协议(protocol)均等性限制(或类似的东西)protocolArrayStructValue:Comparable,Equatable{}extensionDouble:ArrayStructValue{}extensionInt:ArrayStructValue{} 最佳答案 如果你想在一个数组中有两种不同的

ios - 线程 1 : Fatal error: NSArray element failed to match the Swift Array Element type

我的消息自定义类是这样声明的:classMessage:SBDBaseMessage{vartext:String?vardate:Date?init(text:String,date:Date){super.init()self.text=textself.date=date}}注意:SBDBaseMessage是SendBird消息框架的自定义消息类型。然后,我有一个像这样声明的空数组:varmessages:[Message]=[Message]()在下面的代码块中,我收到了这条崩溃消息(在第二行)->Thread1:Fatalerror:NSArrayelementfailed

arrays - 无法将类型 '[_]' 的值转换为指定类型 'Array'

错误信息:cannotconvertvalueoftype'[_]'tospecifiedtype'Array'错误行:varfrontier:Array=[]varfinalPaths:Array=[]代码:importUIKitpublicclassVertex{varkey:String?varneighbors:Arrayinit(){self.neighbors=Array()}}publicclassEdge{varneighbor:Vertexvarweight:Intinit(){weight=0self.neighbor=Vertex()}}classPath{var

swift - 如何在 Swift 中找到 Array 类型的方法列表?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我正在寻找可以在Swift中的数组上使用的方法列表。例如,您可以在数组上运行isEmpty,但我找不到所有方法的列表。例如,我在正式的documentation中找不到像find这样的全局函数

generics - 您能否扩展具有特定约束的通用类(例如 Array)?

我想扩展Array类,但仅限于符合SequenceType协议(protocol)的元素。我想写的代码/我认为合理的代码是:extensionArray{funcflatten()->[T.Generator.Element]{varresult=[T.Generator.Element]()//***[2]forseq:Tinself{//***[1]foreleminseq{result+=[elem]}}returnresult}}但是,Swift似乎创建了两个版本的T。我假设一个来自正常的Array声明,另一个来自对我的方法的尝试约束。特别是,这意味着第[1]行给出了可爱的错误