草庐IT

any_option

全部标签

ios - swift 3 : Cannot automatically unwrap optional before setting it to Label

这个问题在这里已经有了答案:Swift3incorrectstringinterpolationwithimplicitlyunwrappedOptionals(1个回答)关闭6年前。我是iOS开发新手。我通过观看视频教程来完成这个项目,他们使用的是早期版本的Swift,但我使用的是Swift。我遇到了这个问题。两个可选的整数在用于计算时被展开。但是当文本被赋予标签时,它并没有展开。当文本被提供给标签并且它起作用时,我试图再次打开它们。为什么它表现得很奇怪?varleftNumber:Int!varrightNumber:Int!funcgenerateProblem(){leftNu

swift - 当涉及 Optional(_SwiftValue) 时,如何检查 nil/NSNull/optional

从swift3开始,我无法可靠地检测nil/NSNull。在此代码段中,我得到了一个我不知道如何检测的Optional(_SwiftValue)值,而不是nil。我试过了checkingclassForCoder没有运气。其他地方有talkaboutid-as-AnycausingthiskindofproblemfunctestVotingMachine(){letvote:String?=nil//Canbeastringornil//letvote:String?="president"//Canbeastringornilvardict=[String:AnyObject?](

json - 尝试从 json 获取数据时对成员 `jsonObject(with:options:)` 的引用不明确

我是Swift的新手,在制作其中一个教程(相当旧)时涉及通过返回JSON的php从服务器获取凭据,但我遇到了错误AmbiguousreferencetomemberjsonObject(with:options:)在jsonvar中,我搜索并尝试应用不同的解决方案但无济于事。:(感谢您的宝贵时间和帮助。这是我的代码:letuserEmail=userEmailTextField.text;letuserPassword=userPasswordTextField.text;if((userEmail?.isEmpty)!||(userPassword?.isEmpty)!){displ

ios - 如何在 Swift 4 中将 Any 转换为 Date?

我从服务器收到一个日期://ItcomesfromserverasAnylet.letuserInfo:[AnyHashable:Any]letuserInfoDic=userInfoasNSDictionaryuserInfoDic.value(forKey:"gcm.notification.date")asAny//printsOptional(2018-04-26)如果我尝试转换为日期,则会抛出错误:‘Any?’isnotconvertibleto'Date';didyoumeantouse'as!'toforcedowncast?当我强制执行时,返回一个fatalerror。

arrays - 将 Array<Struct> 作为 Array<Any> 返回时出错

我有一个函数可以根据我的数据结构的内部条件返回几种不同的类型,所以我返回一个Any数组并留下注释解释它可能是的类型。(我确定有更好的解决方案,但我不知道它是什么)。这给了我错误Cannotconvertreturnexpressionoftype'[S]'toreturntype'[Any]'其中S是一个纯Swift结构。我将其归结为一个玩具示例来说明问题:protocolP{}//protocolstructS:P{}//structconformingtoprotocol//WillCompile:allprotocolsimplicitlyconformtoAnyfuncretu

ios - fatal error : unexpectedly found nil while unwrapping an Optional value (lldb)

我在Swift中使用UIViewController,但当我尝试保留数据并尝试检索它以返回应用程序时,我得到了它。importUIKitclassViewController:UIViewController{@IBOutletvarlinefields:[UITextField]!funcdataFilePath()->String{letpaths=NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory,NSSearchPathDomainMask.UserDomainMask,true

xcode - 如何修复错误 : pathspec 'git-practice-project/git-practice-project' did not match any file(s) known to git

我创建了一个项目来练习将Git与Xcode和GitHub结合使用。经过大量工作,我已经在本地和远程创建了存储库。我刚刚尝试提交并收到此错误:这是我要promise的:在出现此错误之前我做的最后一件事是:我使用GitHubSwift模板添加了一个.gitignore文件,以便从缓存中删除.xcscheme文件我从终端运行了“gitrm--cache”我创建了测试文件,然后尝试提交但我可以在取景器中看到该文件夹​​:我环顾四周,发现了很多关于git提交问题的问题,但我发现的主要与变音符号和其他与我的问题不同的问题有关。“gitrm--cache”是否导致了这种情况?我可以/应该做什么来安全

swift - 对于 Swift,是 Double?和 Optional<Double> 一样吗?

vartitle:Double?=nilvartitle2=Optional.None上面的两件事似乎都表现为可选的double。但是当我按住选项并单击title时和title2,这表明它们具有不同的类型。一个是Double?另一个是Optional.我只是想知道两者之间是否有区别。如果它们没有什么不同,为什么还要有两个呢?Optional是一个客观的C东西,被转移到swift还是什么? 最佳答案 没有区别,Double也没有什么特别之处这里。对于任何类型T,T?是一个(编译器内置)Optional的快捷方式.所以varvalue:

swift - 使用泛型的 Optionals 的覆盖/运算符导致无限循环

让我们看一下下面的代码片段:func/(lhs:T?,rhs:T?)throws->T?{switch(lhs,rhs){caselet(l?,r?):returntryl/rdefault:returnnil}}letx:Double?=2lety:Double?=2letz=try!x/y我创建了一个需要两个可选参数的通用函数。如果我运行这段代码,它会导致无限循环,因为tryl/r使用func/(lhs:T?,rhs:T?)划分值。谁能解释为什么将两个非可选double值相除会导致对我编写的方法的函数调用,而不是Double的默认/运算符定义?如果我通过一个扩展来扩展Double,

swift - if-let Any 到 RawRepresentable<String>

让我们假设:enumMyEnum:String{casevalue}letpossibleEnum:Any=MyEnum.valueifletstr=stringFromPossibleEnum(possibleEnum:possibleEnum)在不知道枚举类型名称的情况下实现stringFromPossibleEnum的最佳选择是什么?funcstringFromPossibleEnum(possibleEnum:Any)->String?{//howshouldthisbeimplementedwithoutknowingenumtypename?}UPD:好的,情况越来越好,有