草庐IT

swift-keypath

全部标签

swift - iOS - Swift - 录制时的一些音频达到最大允许长度

我在Swift中实现了一个录像机作为iOS应用程序的一部分,我将视频输出的maxRecordedDuration设置为4秒(每秒30帧):self.videoOutput?.maxRecordedDuration=CMTimeMakeWithSeconds(4,30)当用户开始录制时,可能会发生两种情况:用户决定在达到最大录制持续时间之前停止录制。在用户停止视频录制之前达到最大录制持续时间。两种情况中的任何一种funccaptureOutput(captureOutput:AVCaptureFileOutput!,didStartRecordingToOutputFileAtURLfi

ios - Swift iOS 应用程序不使用 Socket.IO 连接到服务器

我将要编写一个非常简单的iOS应用程序。我希望应用程序使用Socket.IO连接到服务器。我已经为我的项目安装了带有Cocoapods的Socket.IO,一切顺利。问题是在我运行我的服务器然后运行应用程序模拟器之后,应用程序没有连接到服务器。我没有收到任何类型的错误消息或类似的消息,但服务器应该在连接套接字时在控制台/终端上打印一条消息。这是套接字管理器类importUIKitimportSocketIOclassSocketManager:NSObject{staticletsharedInstance=SocketManager()overrideinit(){super.ini

ios - 你如何在 Swift 中匹配两个相似的电话号码,但一个包含国家代码而另一个包含或不包含国家代码

我正在尝试快速匹配两个相似的电话号码,但其中一个号码前面有国家代码,而另一个可能有所不同。例如,我希望这2个电话号码匹配:0499999999+32499999999我希望这对全世界的任何电话号码都有效。是否有用于此的正则表达式,或者我可以下载一个pod来执行此操作?谢谢 最佳答案 使用PhoneNumberKit解析PhoneNumber。https://github.com/marmelroy/PhoneNumberKit喜欢:letrawNumberArray=["029112345678","+4929112345678",

swift - 将相等性定义为引用类型的标识?

我经常试图通过将==定义为===来使我的引用类型Equatable。这允许我举一个例子来代替冗长的:collection.contains(where:{$0===object})与:collection.contains(object)但我总觉得自己做错了什么™。将平等定义为身份有什么缺点?这是一种常见的模式吗? 最佳答案 将相等性定义为同一性仅在不可能对一个对象进行两种不同表示的情况下才有用。否则,您最终会得到看起来相同的对象,但在进行相等性比较时会失败。当您保留对象缓存时,这是可以的,确保相同的实体由单个对象表示。如果“一个实

ios - Swift 属性观察不会覆盖

我编写了带有属性覆盖的类继承。我发现存储属性观察不像其他重写那样工作。这些类具有用于比较的存储属性和计算属性。classParent{varstoredProp:Int!{didSet{print("ParentstoredpropertydidSet")}}varcalcProp:Int{print("Parentcalculatedpropertyget")return100}}classChild:Parent{overridevarstoredProp:Int!{didSet{print("ChildstoredpropertydidSet")}}overridevarcalc

swift - 从 portIterator 获取 USB 设备的产品名称

有没有一种方法,使用IOKit或类似的东西,不涉及从互联网下载额外的包,我可以用来读取USB设备的产品名称?这是我当前的代码...funcprintSerialPaths(portIterator:io_iterator_t){varserialService:io_object_trepeat{serialService=IOIteratorNext(portIterator)if(serialService!=0){varkey:CFString!="IOCalloutDevice"varbsdPathAsCFtring:AnyObject?=IORegistryEntryCrea

swift - 登入取消

我正在使用通过cocoapods安装的FacebookSDKforSwift。我按以下方式配置了一个示例应用程序:在开发者网站上添加了一个新的Facebook应用程序;添加了具有正确包标识符的iOS应用程序;在iOS应用程序上编辑info.plist以添加:CFBundleURLTypesCFBundleURLSchemesfb169432773464820CFBundleVersion1FacebookAppID{APPID}FacebookDisplayNameAppDisplayNameLSApplicationQueriesSchemesfbapifbauthfb-messen

swift - 在函数签名中指定模式时,临时多态性/函数重载在 Swift 中不起作用

我在Swift2.2和2.3的多态性方面遇到了一些问题。我正在使用NSManagedObjects并根据特定对象构建View。我注意到我的View构建器没有根据模型的子类调用正确的重载函数。在Playground中,我弄乱了一些东西并发现了以下内容:importFoundationclassDataObject:NSObject{}classX:DataObject{}classY:DataObject{}classViewBuilder{funcviewForModel(model:S){tmp(model)}functmp(model:X){print("X")}functmp(m

swift - NSTimer 倒计时产生两次 0

我有一些代码可以获取今天和另一个时间字符串之间的时间差。使用NSTimer.scheduledTimerWithTimeInterval每秒刷新显示。除计时器达到0外,一切正常。0显示两次。例子:3,2,1,0,0,-1,-2下面是我在Playground上完成的代码://:Playground-TimeCountdownimportUIKitimportXCPlaygroundXCPSetExecutionShouldContinueIndefinitely()classMyClass{vartotalSecondsText=""init(classSecondsText:Strin

ios - Swift:JSON 写入中的无效类型(UIImage)

我正在尝试将UIImage转换为base64字符串,以便可以将其保存到文件中然后上传。我正在做以下事情:代码片段:varwritePath:String!varparams:NSMutableDictionary=["file1":UIImageJPEGRepresentation(self.imageView1.image!,1.0)!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue:0)),"userId":user_id]do{letbodyJson=tryNSJSONSerializatio