草庐IT

clipboard_string

全部标签

json - 解码错误——应该解码 Dictionary<String, Any> 但发现了一个数组

我是swift编程和Xcode的新手,我尝试使用Json编码将数据库中的mysql数据调用到Xcode。我能够成功调用所有数据(数组),但是当我决定只调用一个值(列)时,说Courses.name我得到“解码错误-预期解码字典但找到了一个数组。”我该如何解决这个问题?我的目标是只打印courses.nameimportUIKitstructCourse:Decodable{letid:Stringletname:Stringletmember:String}classViewController:UIViewController{overridefuncviewDidLoad(){su

swift - 如何在 Swift 中扩展 String.Iterator

我有一个String像LINNIIBDDDN,基本上是一系列标记。我想使用多个迭代器,每个标记类型一个。我想让每个迭代器忽略不属于它的标记。也就是说,我想调用类似next_ish()的方法,将迭代器推进到其特定标记的下一个元素。因此,如果N迭代器位于索引3,并且我调用了next_ish(),我希望它转到索引10,即下一个N,而不是索引4处的I。我有一些已经可以运行的代码,但是它有很多代码,它使String成为一个数组,并且我有迭代器的子类,基本上是手写的,没有Swift的帮助,尽管我确信Swift迭代器更稳定并且经过全面测试。在可能的情况下,我宁愿使用他们的代码也不愿使用我的代码。似乎

string - 模式匹配 (Any, Any) as (String, String) 在 Switch Case 中失败

在以下代码方面需要帮助。letfirst:Any="One"letsecond:Any="Two"letvalues=(first,second)switchvalues{caselet(x,y)as(String,String):print("Success",x,y)default:print("Failure")}switchfirst{caseletxasString:print("Success",x)default:print("Failure")}---输出FailureSuccessOne---预期输出SuccessOneTwoSuccessOne演示:http://s

swift - 如何使 Swift 的 String 类型符合 CVarArgType 协议(protocol)?

Swift协议(protocol)定义为空:publicprotocolCVarArgType{}Apple文档页面未列出任何必需的方法:https://developer.apple.com/library/ios/documentation/Swift/Reference/Swift_CVarArgType_Protocol/index.html所以我希望它能工作:extensionString:CVarArgType{}但我得到一个构建错误:协议(protocol)需要类型为“[Int]”的属性“_cVarArgEncoding”(Swift.CVarArgType)鉴于协议(p

swift - 如何增加 String.CharacterView.Index 类型的变量?

我正在尝试这个(在Playground):classSomeClass{privateletinput:String.CharacterViewprivatevarposition:String.CharacterView.Index...privatefuncadvance(){position+=1}//advance}//SomeClass...但我收到以下错误消息:error:binaryoperator'+='cannotbeappliedtooperandsoftype'String.CharacterView.Index'and'Int'我尝试增加这个索引的原因是因为我想

ios - Swift 无法将类型 '()' 的值分配给类型 'String?'

我正在学习Swift2/iOS应用开发。我对编译前Xcode抛出的错误感到困惑。这是抛出错误的代码:letdotpos=display.text!.rangeOfString(".")ifdotpos!=nil{display.text=display.text!.removeRange(dotpos!)}抛出的错误是(在“display.text=display.text!.removeRange(dotpos!)”行):Cannotassignvalueoftype'()'totype'String?'注意:显示是一个UILabel对象。有人可以指出我可能犯的错误吗?

string - Swift:替换字符串中的字符 - 没有 stringByReplacingOccurrencesOfString

好吧,假设我有一个String喜欢letmyString="mystring:hello"我想用“,”替换“:”。我做到了这一点:letcharacters=map(Array(myString),{$0==":"?",":$0})返回MapCollectionView,Character>.有没有一种简单的方法可以将其转换回String? 最佳答案 这个呢?通过使用+“减少”它们将所有字符组合成一个字符串运算符(operator):letstr=Array(characters).reduce("",combine:+)print

ios - 了解 Swift 中的 `var status = (string: statusVal as NSString)` 变量声明

我在一个编译执行成功的项目中找到了如下代码。但我无法理解它是如何工作的。我尝试使用各种搜索短语对其进行谷歌搜索,但找不到解释。letstatusVal="Somestring"varstatus=(string:statusValasNSString)有人可以澄清第二行发生了什么吗?根据我对Swift的了解,第二行应该是这样的varstatus=NSString(string:statusValasNSString)当然也可以编译。 最佳答案 虽然,它只是一个只有一个元素的元组varstatus=(abcdefg:"abc")abc

ios - 在 for 语句中使用 String.CharacterView.Index.successor()

将来,C-styleforstatementswillberemovedfromSwift.虽然有许多替代方法可以使用C风格的for语句,例如使用stride,或..运算符,这些仅在某些条件下有效例如,在旧版本的swift中,可以循环遍历所有其他索引,String.CharacterView.Index,使用C风格for语句的字符串forvarindex=string.startIndex;index然而,这现在已被弃用。有一种方法可以做同样的事情,使用while循环varindex=string.startIndexwhileindex但这只不过是一种解决方法。有..运算符,非常适合

swift - 使 String.CharacterView.Index 符合 Strideable : fatal error when using stride(to:by:): "cannot increment endIndex "

问题:当尝试通过例如跨越String.CharacterView.Index索引时2的一大步extensionString.CharacterView.Index:Strideable{}letstr="01234"for_instr.startIndex.stride(to:str.endIndex,by:2){}//fatalerror我收到以下运行时异常fatalerror:cannotincrementendIndex但是,仅在创建上面的StrideTo时,(letfoo=str.startIndex.stride(to:str.endIndex,by:2))不会产生错误,仅在