草庐IT

Type_Ary

全部标签

objective-c - 一些for循环的问题 - - "Cannot subscript a value of type ' Double' with an index of type 'int' "errors

我在有索引的地方收到很多“无法使用‘int’类型的索引下标‘Double’类型的值”错误?阵列?像这样此代码取自Obj-C,并尽可能翻译成Swift,但我不熟悉某些语法。我清理了for循环,但一些Obj-C语法仍然存在。你能帮我清理/重构我的代码吗?importUIKitimportFoundationimportAVFoundationletminFramesForFilterToSettle=10enumCurrentState{casestatePausedcasestateSampling}classViewController:UIViewController,AVCaptu

swift 3 : Inheritance from non-named type

我有以下SSCIE:protocolFoo{associatedtypeBarassociatedtypeBaz:(Self.Bar)->VoidvarcurrentValue:Bar{get}}我想这样使用:funccall(foo:T,callback:@escapingT.Baz){DispatchQueue.main.async{callback(foo.currentValue)}}但是编译失败,报错:Inheritancefromnon-namedtype'(`Self`.Bar)'当我使用(Bar)->Void和(Foo.Bar)->Void时,这也无法编译。Sadly,

swift - 代码 9 : Cannot convert value of type '[String : Any]' to expected argument type '[NSAttributedStringKey : Any]?'

我有一个自定义的UIOutlineLabel类,它在标签内的文本周围绘制轮廓。自更新到Swift4后,我收到以下错误:无法将类型“[String:Any]”的值转换为预期的参数类型“[NSAttributedStringKey:Any]?”。我尝试将strokeTextAttributes更改为:as![NSAttributedStringKey:Any]但这会导致运行时错误。还有“UIOutlineLabelsetOutlineWidth已弃用并将在Swift4中删除”和“UIOutlineLabelsetOutlineColor已弃用并将在Swift4中删除”的Swift语言运行时

swift - PromiseKit 无法将类型 '[Result<TYPE>]' 的值分配给类型 '[TYPE]

使用PromiseKit,我试图将whenblock的输出设置为局部变量allChatRoomsvarallChatRooms:[ChatRoom]varchatRoomIDs:[String:Bool]=...firstly{when(resolved:chatRoomIDs.map{fetchChatRoom(id:$0.key)})}.then{chatRooms->VoidinallChatRooms=chatRooms编译器错误是:注意:(ChatRoom和KChatRoom是一样的)如何将结果设置为allChatRooms变量? 最佳答案

ios - 初始化 CBCentralManager : Type of expression is ambiguous without more context

尝试在Swift4.2项目中初始化CBCentralManager。获取评论中显示的错误:importCoreBluetoothclassSomeClass:NSObject,CBCentralManagerDelegate{//Typeofexpressionisambiguouswithoutmorecontextletmanager:CBCentralManager=CBCentralManager(delegate:self,queue:nil)//MARK:-Functions:CBCentralManagerDelegatefunccentralManagerDidUpda

objective-c - CGFLOAT_TYPE 和 swift

我的情况:我学习Swift有一段时间了,Swift是我唯一学过的iOS开发语言,这意味着我没有系统地学习Objective-C。我只能读一点OC代码。当我尝试将OC项目转换为Swift项目时遇到了类型转换问题。我只是对那个OC代码中的一些Type感到困惑。Objective-C代码:staticinlineCGFLOAT_TYPECGFloat_ceil(CGFLOAT_TYPEcgfloat){#ifCGFLOAT_IS_DOUBLEreturnceil(cgfloat);#elsereturnceilf(cgfloat);#endif}我未经证实的猜测:我认为这是一个函数,可以完成

ios - 不清楚的 "Type of expression is ambiguous without more context"错误

几个月后我回到我的旧XCode项目,现在我有很多以前没有的错误,我假设这与更新的语法有关。为什么我会看到:Typeofexpressionisambiguouswithoutmorecontext对于这个block@IBActionfuncsubmitUrl(sender:UIButton){varapp=UIApplication.sharedApplication().delegateas!AppDelegate//ErroroccursinbelowdeclarationofstudentDictvarstudentDict=["latitude":self.latitude,"

ios - swift 2 : Binary operator '==' cannot be applied to operands of type '()?' and 'Bool'

在我更新Xcode7beta并将我的swift代码转换为Swift2之后,我遇到了这两个我无法弄清楚的错误。Callcanthrow,butitisnotmarkedwith'try'andtheerrorisnothandledBinaryoperator'=='cannotbeappliedtooperandsoftype'()?'and'Bool'我的代码在这里。ifself.socket?.connectToHost(host,onPort:port,viaInterface:interfaceName,withTimeout:10)==true{//connecting}el

ios - Swift 2.0 - "Cannot convert return expression of type ' NSURL' 返回类型 'String' "

我正在尝试将旧的swift应用程序转换为2.0,但似乎无法通过此函数中的这段代码:funcdocumentsPathForFileName(name:String)->String{letpaths=NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true);letpath=paths[0];letfullPath=NSURL(fileURLWithPath:NSTemporaryDirectory()).URLByAppendingPathComponent(name)returnfullP

swift - 将元组作为 inout 参数传递时出现 "implicit conversion from <tuple type> to <tuple type 2> requires a temporary"错误

这是我的代码:varmyTuple=("bar",42)funcfoo(_bar:inout(arg1:String,arg2:Double)){[...]}foo(&myTuple)我收到此行的以下错误:foo(&myTuple)Cannotpassimmutablevalueasinoutargument:implicitconversionfrom'(String,Double)'to'(arg1:String,arg2:Double)'requiresatemporary 最佳答案 实际问题是您的元组变量缺少函数中存在的标签