草庐IT

swift - 将 Swift 中的 Dictionary 或 Generator 或 Sequence 转换为数组的优雅方法?

有没有一种优雅的方法可以将字典(或序列或生成器)转换为数组。我知道我可以通过如下所示循环遍历序列来转换它。vard=["foo":1,"bar":2]varg:DictionaryGenerator=d.generate()vara=Array()whileletitem=g.next(){a+=item}我希望有类似于Python的简单转换:>>>q=range(10)>>>i=iter(q)>>>i>>>z=list(i)>>>z[0,1,2,3,4,5,6,7,8,9]>>> 最佳答案 数组的+运算符将接受一个序列,因此您可以

ios - Swift iOS - 将货币格式的字符串转换为数字

我已经使用NumberFormatter类将数字转换为货币格式的字符串(例如2000->£2,000.00)。但是,我需要一种将格式化字符串转换回数字的方法(例如£2,000.00->2000)。事实证明,简单地通过格式化程序运行它是行不通的,只会产生nil。有谁知道实现此目标的最佳方法? 最佳答案 Swift4:以下字符串扩展有助于将货币格式的字符串转换为十进制或double。该方法自动识别大多数常见货币的数字格式。字符串必须没有货币符号(€、$、£、...):ForExample:USformattedstring:"11.23

arrays - 将字符串拆分为数组并修剪每个值的有效方法 - Swift

为了更好地理解swift,我想看看是否有更有效的方法来编写下面的代码。代码应采用self.categories字符串,将其转换为数组(值以逗号分隔),并在返回数组之前修剪每个值。funcget_categories()->Array{letcategories=self.categories!.componentsSeparatedByString(",")varcategories_to_return=Array()forcategoryincategories{categories_to_return.append(category.stringByTrimmingCharacte

arrays - 将字符串拆分为数组(每个字符)-Swift

这个问题在这里已经有了答案:ConvertSwiftstringtoarray(14个答案)关闭6年前。我有个小问题。我想将一个字符串拆分为一个字符数组,我可以在其中处理每个字符。例如:"Hello"arrayofstring[0]->Harrayofstring[1]->earrayofstring[2]->larrayofstring[3]->larrayofstring[4]->o我感谢所有的帮助。

ios - 为数组中的每个对象添加按钮

我有一个对象数组,我想为数组中的每个对象分配一个按钮。我做得对吗?按钮没有显示在View上,我认为没有调用for循环。我希望按钮处于随机位置,每个按钮都不同。我究竟做错了什么?我正在使用解析来检索距某个点一定距离的对象,这是有效的。varlocationarray=[AnyObject]()varuserbutton=[UIButton]()overridefuncviewWillAppear(animated:Bool){letuserlocation=PFUser.query()PFGeoPoint.geoPointForCurrentLocationInBackground(){

ios - 将文本拆分为数组,同时保持 Swift 中的标点符号

我想将文本拆分成一个数组,保留由其余单词分隔的标点符号,因此字符串如下:Hello,IamAlbertEinstein.应该变成这样的数组:["Hello",",","I","am","Albert","Einstein","."]我已经尝试使用sting.components(separatedBy:CharacterSet.init(charactersIn:",;;:"))但是这个方法会删除所有标点符号,并返回一个像这样的数组:["Hello","I","am","Albert","Einstein"]那么,我怎样才能像我的第一个例子那样得到一个数组呢?

swift - 为数组中的项目赋值给出条件绑定(bind)中的绑定(bind)值必须是可选类型

编译错误BoundvalueinaconditionalbindingmustbeanOptionaltype下面是代码截图 最佳答案 你可以将array[index]的值转换为Optional做这样的事情:ifletvalue=Int?(array[index]){result+=value}那就是如果你的数组包含整数。您也可以使用AnyObject?,但您会收到来自xcode的警告。 关于swift-为数组中的项目赋值给出条件绑定(bind)中的绑定(bind)值必须是可选类型,我们

arrays - 如何为数组进行切换?

这是我的代码:varanimalArray=["cow","pig"]switchanimalArray{case["cow","pig"],["pig","cow"]:println("YouWin!")default:println("KeepTrying")我收到错误:对于行“case[“cow”,“pig”],[“pig”,“cow”]:“Type'Array'doesnotconformtoprotocol'IntervalType'”。我究竟做错了什么? 最佳答案 你不能用数组来做到这一点。但是您可以使用contains

swift - 将原生 swift Set 转换为数组

这个问题在这里已经有了答案:SwiftSettoArray(6个答案)关闭7年前。我需要将Set转换为[AnyObject]或[String]的数组,这可能吗?我知道使用NSSet我可以使用.allObjects,但是对于native集似乎没有任何功能

ios - 将 NSPersistentStoreResult 转换为数组

您好,我在使用以下代码时遇到问题。具体来说,iflet语句给出了CastfromNSPeristentStoreResulttounrelatedtype[Item]alwaysfails警告。我正在使用Swift3.01。看起来这应该很容易做到。我关注的这本书是使用早期版本的Swift编写的。谢谢你的宽容。funcdemo(){letrequest=NSFetchRequest(entityName:"Item")do{ifletitems=tryCDHelper.shared.context.execute(request)as?[Item]{foriteminitems{ifle