Tag: 快速

Swift 3 iOS – 与AVAudioPlayer同步暂停

我正在使用AVAudioPlayer在播放器风格的界面(播放/暂停/停止)中播放一组同步的MP3文件。 我知道我可以通过使用play(atTime :)同步玩他们,但我的问题是,我如何同步暂停他们? 目前,暂停他们,我正在使用: for (_, audioTrackPlayer) in audioTrackPlayers.enumerated() { audioTrackPlayer.pause() } 但当然,他们都是一个接一个的停下来。 没有等效的暂停(atTime :)function。 那么如何实现精确的同步暂停呢? 编辑 – 额外信息 在马特询问有多明显之后,我得到了一些数据。 暂停5个曲目需要几乎半秒的时间。 为了说明这一点,我在暂停循环之后添加了一个单独的循环,以在每个轨道上报告currentTime,并在暂停之前添加了几个循环 – 供参考,并显示它们同步开始。 Loop benchmark, 0: 3.2118820861678 Loop benchmark, 0: 3.21580498866213 Loop benchmark, 0: 3.21888888888889 Loop benchmark, 0: 3.22126984126984 Loop benchmark, 0: 3.22328798185941 Before pause, 0: 3.22560090702948 Before pause, 1: 3.22750566893424 Before pause, 2: […]

AFNetworking v3.1.0 multipartFormRequestWithMethod上传带引号的JSON数值

当我使用AFNetworking v3.1.0 multipartFormRequestWithMethod上传文件并包含一个参数字典,该参数字典被转换为JSON,并且字典中有一个条目如: ["Test": 1] 也就是说,一个带有数值的键,当它到达我的服务器时,JSON结构是一个带引号的string。 例如: {"Test":"1"} 这不是我想要的。 我想在服务器上收到的是: {"Test": 1} 请注意,当使用AFHTTPSessionManager的POST方法(我认为不允许file upload)时,我不会遇到这个问题。 这是AFNetworking中的一个错误吗? 我在做什么? 有没有解决方法或其他解决scheme? 我已经在AFNetworking JSON序列化问题上看到了这个讨论,但是我的应用程序并不适合在服务器上进行parsing,以便按照我喜欢的方式(数字不带引号)进行parsing。 思考? 这是我使用AFNetworking的客户端代码: import Foundation import SMCoreLib // some common library functions I use class Server { private let manager: AFHTTPSessionManager! internal static let session = Server() var uploadTask:NSURLSessionUploadTask? private init() { self.manager = AFHTTPSessionManager() // https://stackoverflow.com/questions/26604911/afnetworking-2-0-parameter-encoding […]

设备上的应用尺寸是否等于app store中的最终尺寸?

我上传了我的应用程序到iTunes Connect,我在“压缩文件大小”下看到的是222MB。 但是,当我在设置 – >一般 – >存储中检查真实设备上的应用程序大小时,它显示84.9 MB。 为什么我在这里看到两个不同的尺寸,哪一个是正确的? 如果其中之一是准确的,那么在我提交到app store之前,如何估算应用尺寸? 我正在尝试将大小减小到最大100 MB,以便用户可以通过手机进行下载和安装。 任何build议将不胜感激!

单数据类用于共享数据

我是一名Android应用程序开发人员,也是一名初学者。 我试图实现一个单一类的数据成员共享整个应用程序(如设置)。 在android中完成这个工作是非常简单的,但是我很快就打破了我的头脑。 下面是我试过的代码 public class DataSet { public var notificationOnOff: Bool! public var interval: Int! public var alert: String! init() { self.notificationOnOff = true self.interval = 1; self.alert = nil; } init (onOff: Bool) { self.notificationOnOff = onOff } init (time: Int) { self.interval = time } init (stop: String) { self.alert = stop […]

如何通过asynchronous或静态调用实现强大的保留循环?

我正在努力去掌握如何才能认识到一个强大的保留周期是可能的,并要求我使用[weak/unowned self] 。 我被不必要地使用[weak/unowned self]烧毁了,在给我机会使用它之前,我自己就被释放了。 例如,下面是在闭包中引用self的asynchronousnetworking调用。 可以在这里发生内存泄漏,因为networking调用是在不将自身调用存储到variables的情况下进行的? NSURLSession.sharedSession().dataTaskWithURL(NSURL(string: url)!) { (data, response, error) in self.data = data ) 下面是使用NSNotificationCenter的另一个例子,可以稍后进行asynchronous调用: NSNotificationCenter.defaultCenter().addObserverForName( UIApplicationSignificantTimeChangeNotification, object: nil, queue: nil) { [unowned self] _ in self.refresh() } 我的问题是在什么情况下可能有强大的保留周期? 如果我在一个闭包中进行一个asynchronous调用或静态调用来引用self,是否会使它成为[weak/unowned self]的候选人呢? 感谢您排除这一点。

如何将带有标记的CURL命令转换成Swift?

我有我们的自定义REST API的CURL命令,除了示例CURL调用之外,没有任何其他文档。 当我在Swift中需要这个时,我怎么才能开始翻译和在Swift中工作呢? 到目前为止,我使用了SwiftyJSON(用于与其他API玩),但是我不知道如何在其中包含访问令牌。 使用CURL的示例调用 curl -k -i -H "Accept: application/jsorization: Bearer fbqgk5um9bei9newmitcjk8zqw12zw7b9" -X GET 'https://x43.herokuapp.com/x43/api/v1/sch?$aca=N' 响应 HTTP/1.1 200 OK Server: Cowboy Connection: keep-alive X-Powered-By: Express Content-Type: application/json; charset=utf-8 Date: Wed, 13 Jul 2016 15:05:28 GMT Transfer-Encoding: chunked Via: 1.1 vegur 结果在JSON中 {"result":[{"sco_id":2,"sco_type":"LS","name":"Phoenix English","city":"Perth","cou_id":"AU","environment":"R","image":"- ","rating":0},{"sco_id":3,"sco_type":"LS","name":"Milner college","city":"Perth ","cou_id":"AU","environment":"L","image":"- ","rating":0},…

更新TableViewController中的variables

我需要更新TableViewController中的variables,我不能find办法做到这一点,有人可以解释为什么这是行不通的吗? 我生气了 从我的视图控制器这是我正在运行的代码: let storyboard = UIStoryboard(name: "Main", bundle: nil) let TV = storyboard.instantiateViewControllerWithIdentifier("tbController") as myTableViewController TV.x = "test" 然后,从TableViewController类: class myTableViewController: UITableViewController { var x:String! override func viewDidLoad() { super.viewDidLoad() println("Value of x is: \(self.x)") } } 印刷的价值是:无 为什么? 那有什么问题? 我不明白:-( 更新的图片

带有AVAudioPlayer的SKEmiterNode用于音乐视觉效果

请有人帮助! 我希望使用AVAudioPlayer将我的SKEmiterNode的音阶(意义上的大小)变得越来越小。 现在这几乎是我所有的SKEmiterNode,它看起来很棒: beatParticle?.position = CGPoint(x: self.size.width * 0.5, y: self.size.height * 0.5) var beatParticleEffectNode = SKEffectNode() beatParticleEffectNode.addChild(beatParticle!) self.addChild(beatParticleEffectNode) 所有的外观都在.sks文件中完成。 这里是我在一个连续循环中称之为“updateBeatParticle”函数的地方,这样它就可以把我的代码放在音乐上,使得粒子的尺度(意思是尺寸)越来越小。 var dpLink : CADisplayLink? dpLink = CADisplayLink(target: self, selector: "updateBeatParticle") dpLink?.addToRunLoop(NSRunLoop.currentRunLoop(), forMode: NSRunLoopCommonModes) func updateBeatParticle(){ //Put code here } 任何想法我可以做到这一点? 我看了一些这样的教程: https : //www.raywenderlich.com/36475/how-to-make-a-music-visualizer-in-ios 但是,我不能很好的理解它,因为他们使用的是一个emitterLayer,它在Obj-C中,并且对于其他的精彩人物也有兴趣。

只有底angular四舍五入

我有一个tableView下面的textview,都是相同的Backgroundcolor,所以它看起来就像它的一个视图。 现在,我希望textview的底部四舍五入,但不是顶部的(因为你可以看到textview和tableview之间的差距)。 我在这里find了一些答案,但不知何故,它只是使左下angular变圆,而不是正确的? 我也尝试改变arrays内的顺序,没有工作。 然后我试了一下左边的angular落,工作。 但只有右上angular没有工作?! 这是我目前所拥有的 let rectShape = CAShapeLayer() rectShape.bounds = self.eventDescription.frame rectShape.position = self.eventDescription.center rectShape.path = UIBezierPath(roundedRect: self.eventDescription.bounds, byRoundingCorners: [.BottomLeft, .BottomRight], cornerRadii: CGSize(width: 20, height: 20)).CGPath self.eventDescription.layer.mask = rectShape

钻石般的UIView

我正在尝试创build一个像钻石一样的angular落的UIView,如图所示: 我熟悉四舍五入: myView.layer.cornerRadius = 10 不过,我想要一个不同的形状。 我怎么能创造这个效果? 谢谢你的帮助!