草庐IT

clipboard_string

全部标签

swift - 如何将 'nil' 设置为 [String : String] dictionary is valid? 的值

我很好奇为什么这段代码在Playground中能正常工作:vardict=[String:String]()dict["key"]=nilletvalue=dict["key"]我们可以看到我用非可选值声明了Dictionary,在Playground中检查它之后它的工作方式类似于声明为[String:String?]的字典我的问题是在声明为[String:String]和[String:String?]? 最佳答案 dict["key"]=nil是从字典中删除键的简写(与使用dict.removeValue(forKey:"key

Swift 5 : String. UTF16View.Index(encodedOffset: l) 弃用

我正在使用此代码将连字符插入字符串以实现更好的自动换行。使用Swift5我得到的信息是String.UTF16View.Index(encodedOffset:l)将被弃用。但我无法找出正确的参数。有什么想法吗?importFoundationextensionString{funchyphenated(languageCode:String)->String{letlocale=Locale(identifier:languageCode)returnself.hyphenated(locale:locale)}funchyphenated(locale:Locale)->Strin

string - 字符串间隔如何工作?

我在thisanswer做了一些尝试,甚至向Apple提出了RADAR问题,要求就此事提供更好的文档(蟋蟀鸣叫)。问题是:字符串间隔如何工作?如果你看一下我的playground中的第367行,你会发现我在搞乱字符串间隔。我将String的东西提取到一个较小的playground中://StringIntervals//Theseareodd.LookslikeitisusingtheASCIIvalues.IshouldexperimentwithUnicode,andseewherewego...letaThroughFClosed:ClosedInterval="A"..."F"

ios - 分配一个 [String :AnyObject] to [String:AnyObject] in Swift replaces comma with semi-colon

我有varparams=[String:AnyObject]()我有一个返回[String:AnyObject]的函数。所以,我想将其分配给params的键,如下所示:params["phoneDetails"]=getPhoneDetails()我面临的问题是,getPhoneDetails()的返回值与params["phoneDetails"]中的值不同。这是getPhoneDetails()的输出[locale:en,ostype:32bit,appversion:4.0.0,architecture:x86,version:8.1]这是params["phoneDetails

swift - 使用枚举的默认值作为字典键而不显式转换为 String

如果我声明一个enum像这样:enumKeys{casekey_onecasekey_two}我可以打印它,它会自动转换为String:print(Keys.key_one)//prints"key_one"如果我然后制作一个映射Strings的字典无论是什么(但为了简单起见,让我们再次选择Strings),我认为它应该能够通过使用Keys.key_one添加key作为关键,对吧?错了。varmyDict=[String:String]()///error:cannotsubscriptavalueoftype'[String:String]'withanindex///oftype'

swift - RealmSwift List 要求 String 继承自 Object

我正在尝试在RealmSwift上创建一个字符串列表,如下所示:importFoundationimportRealmSwift//V1classfoo:Object{letstrings=List()}但是我得到这个错误:'List'requiresthat'String'inheritfrom'Object'是否要在Realm中创建一个字符串列表而不创建具有一个字符串属性的整个类? 最佳答案 RealmSwift尚不支持原语数组。可以订阅GitHubissue1120在我们添加支持时收到通知。在那之前,您需要将字符串包装在派生自

ios - 无法将类型 'NSDate' 的值分配给类型 'String?' 的值

我正在自学Swift,我仍然很新,但我决定制作一个简单的应用程序,当您按下按钮时打印当前时间。viewcontroller文件中的代码如下:importUIKitclassViewController:UIViewController{overridefuncviewDidLoad(){super.viewDidLoad()}@IBOutletweakvarLblTime:UILabel!@IBActionfuncBtnCalltime(sender:AnyObject){vartime=NSDate()varformatter=NSDateFormatter()formatter.d

string - 无法将类型 'Range<Int>' 的值转换为预期的参数类型 'Range<Index>'(又名 'Range<String.CharacterView.Index>')

我这里有一个字符串,我正在尝试对其进行子字符串化。letdesc="Helloworld.HelloWorld."varstringRange=1..但是Swift给我一个错误。我做错了什么?我正在使用stringRange的新表示法,因为它不允许我使用旧的。 最佳答案 您创建的Range类型不正确,它被推断为Int。您需要从字符串本身创建范围:letdesc="Helloworld.HelloWorld."letstringRange=desc.startIndex..String稍微复杂一些。或者,返回到NSString和NSR

swift - 如何将类型为 Class<Class Implementing Protocol> 的值存储在类型为 [String :Class<Protocol>] in Swift? 的字典中

我想在[String:SomeClass]类型的字典中存储一个更专业的类型。这是一些示例代码来说明我的问题(也可以在https://swiftlang.ng.bluemix.net/#/repl/579756cf9966ba6275fc794a上使用):classThing{}protocolFlavor{}classVanilla:Flavor{}vardict=[String:Thing]()dict["foo"]=Thing()它产生错误ERRORatline9,col28:cannotassignvalueoftype'Thing'totype'Thing?'.我试过转换Thi

Swift 2 到 3 迁移 String.fromCString

我正在尝试将此库(https://github.com/dankogai/swift-json)中的以下代码转换为Swift3兼容代码。关于fromCString函数存在大量错误,该函数以前在Swift2中的String上可用错误在任何地方都大致相同:'fromCString'isunavailable:PleaseuseString.init?(validatingUTF8:)instead.NotethatitnolongeracceptsNULLasavalidinput.AlsoconsiderusingString(cString:),thatwillattempttorep