草庐IT

Non-optional

全部标签

swift - Swift 可选类型中 "an Optional of an Optional"的用途是什么?

我在SwiftTestssourcecode中发现了一个有趣的函数:functest(_v:A????,_cast:(A????)->B?)自Type?只是Optional的语法糖,这意味着参数的类型v可以重写为Optional>>>.我知道这个函数是用来测试可选类型的,所以它的参数肯定是过火了v和cast,但是具有“可选的可选等”的实际用途是什么?输入Swift(如果有)? 最佳答案 当您访问数据时,这些有时会在Swift中发生。一个示例是,如果您有一个字典,其中的值具有可选类型,然后您在该字典中查找一个值:letrockStar

ios - 错误 : Assigning non-escaping parameter 'publicationQuery' to an @escaping closure

我有一个像这样的ViewController:classPublicationListViewController:UIViewController{varpublicationQuery:(()->[Publication])!funcinitWith(title:String,publicationQuery:()->[Publication]){self.title=titleself.publicationQuery=publicationQuery}}为什么我会收到“将非转义参数‘publicationQuery’分配给@escaping闭包”错误?

swift - "Cannot call value of non-function type ' HTTPURL 响应? '"(Alamofire 4.0) [Swift 3.0]

我收到此错误:"Cannotcallvalueofnon-functiontype'HTTPURLResponse?'"关于部分:.response{(request,response,data,error)我想知道是否有人可以帮助我。Alamofire.download(urlToCall,method:.get){temporaryURL,responseinifFileManager.default.fileExists(atPath:finalPath!.path!){do{tryFileManager.default.removeItem(atPath:finalPath!.

swift 4 : pattern match an object against a tuple (Tuple pattern cannot match values of the non-tuple type)

我有一个包含几个字段的自定义结构,我想在快速switch语句中对其进行模式匹配,这样我就可以通过将其中一个字段与另一个字段进行比较来自定义匹配正则表达式。例如鉴于这种结构:structMyStruct{letheader:Stringlettext:String}我喜欢像这样进行模式匹配:switch(someInstance){case("h1","[a-z]+"):...case("h1","0-9+"):...}我尝试使用如下模式匹配函数让它工作:func~=(pattern:(String,String),value:MyStruct)->Bool{returnvalue.he

ios - 更新到 XCode 6.3 (Swift 1.2) 后出现 "Objective-C method conflicts with optional requirement method"错误

我在我的应用程序中使用GoogleMapsiOSSDK,直到今天一切都运行良好。我已经下载了Xcode6.3并遇到了一些错误。整理了所有这些,除了我的MapViewController类中的两个错误,在这两个方法上弹出:第一种方法:funcmapView(mapView:GMSMapView!,didTapMarkermarker:ExtendedMarker!)->Bool{...somecode...}错误:Objective-Cmethod'mapView:didTapMarker:'providedbymethod'mapView(:didTapMarker:)'conflic

swift - "Cannot call value of non-function type"

我刚刚下载了Xcode8Beta,以便可以在我的应用程序中包含一些新的iOS10框架。然而,在将我的代码从Swift2转换为Swift3的过程中,我遇到了几个错误。除了一个super烦人的,我都修好了。我收到错误:Cannotcallvalueofnon-functiontype'JSQMessagesCollectionView!'atthefollowinglineofcode:letcell=super.collectionView(collectionView,cellForItemAtIndexPath:indexPath)as!JSQMessagesCollectionVi

ios - 在 Swift 中对元组进行模式匹配时如何解包 Optional?

在Swift中,有一个常见的iflet模式用于解包可选值:ifletvalue=optional{print("valueisnowunwrapped:\(value)")}我目前正在做这种模式匹配,但是在switchcase中使用元组,其中两个参数都是可选的://urlisoptionalhereswitch(year,url){case(1990...2015,letunwrappedUrl):print("Currentyearis\(year),goto:\(unwrappedUrl)")}然而,这打印:"Currentyearis2000,gotoOptional(www.g

swift - 为什么不能在没有警告的情况下将 Optional 分配给类型为 `Any` 的变量?

以下代码在没有警告的情况下编译:版本1:varanything:Anyanything="woof"有道理...Any是任何类型、值类型或引用类型。但是,如果我们创建一个像Double?这样的可选变量,这段代码会抛出一个警告:版本2:varanything:AnyletaDouble:Double?=3anything=aDouble但是这段代码不会抛出警告:版本3:enumAnEnum:{casefirstcasesecond(T)}varanEnum:AnEnum=.firstanything=anEnum您可以合理化版本2抛出警告,因为Any不是Optional类型,而Doubl

swift - 为什么 Swift nil-coalescing 返回一个 Optional?

首先,我尝试映射[String?],以获得[String]:$xcrunswiftWelcometoAppleSwiftversion2.2(swiftlang-703.0.18.8clang-703.0.30).Type:helpforassistance.1>importFoundation2>letj:[String?]=["a",nil]j:[String?]=2values{[0]="a"[1]=nil}3>j.map{$0??""}$R0:[String]=2values{[0]="a"[1]=""}这对我来说非常有意义。我对String?进行零合并,得到一个String。

iOS: "Include of non-modular header"与 libxml

我正在尝试构建自己的框架“VBL”,它使用TouchXML这是基于libxml.dylib框架构建良好,但每当我尝试在任何项目中使用它时,我都会收到以下错误:"Includeofnon-modularheaderinsideframeworkmoduleVBL.CXMLNode"特别是因为在我的框架内的headerCXMLNode.h中,我必须按如下方式包含libxml:#include将BuildSettings中的以下属性设置为YES是否安全?allownon-modularincludedinframeworkmodules但这无论如何都不适用于Swift,所以还有其他建议吗?