Tag: 快速

MagicalRecord完成块在testing目标下不被调用

MagicalRecord.saveWithBlock({ context in if let items = dictionary["items"] as? Array<NSDictionary> { for itemInfo in items { DBItem.findOrUpdateItemWithDictionary(itemInfo, inContext: context) } } //is called if let sets = dictionary["item_sets"] as? Array<NSDictionary> { for setInfo in sets { DBSet.findOrUpdateSetWithDictionary(setInfo, inContext: context) } } }, completion: { finished, error in completionBlock(error) //is not called }) 这是我如何设置我的核心数据堆栈: MagicalRecord.setupCoreDataStackWithInMemoryStore()

modalPresentationStyle – FormSheet在iPad上的高度究竟是什么?

modalPresentationStyle – FormSheet在iPad上的高度究竟是什么? 我写了一行代码来获取self.view的高度,如下所示: println("Height – modalPresentationStyle FormSheet: \(self.view.frame.size.height)") testing后我得到了这两个结果: ModalViewController没有窗体 ,高度为1024.0 使用modalPresentationStyle上的Formsheet ,高度为1024.0 ,这是错误的,因为高度应该小于1024.0 任何想法有什么问题吗? 我需要从self.view.frame.size.height与表格中获得正确的高度,因为我需要在代码中的某处编写公式。 我不需要改变表格的大小。

从UIButton类的外部调用函数

我有一个函数,当按下button时,我想调用它,但是与我迄今为止所做的任何操作不同,我希望能够通过几个ViewController中的任何一个来访问它。 我不想在每个ViewController中重复相同的代码块。 我已经尝试定义我想调用ViewController类之外的函数,但我无法弄清楚为了达到目标而需要设置的目标。 通常使用self是因为函数是在类中定义的,但是如果函数在另一个文件中和/或类之外,你会做什么? button.addTarget(???, action: "myFunction:", forControlEvents: UIControlEvents.TouchUpInside) 编辑:我将能够使用的另一个解决scheme是做这样的事情,并定义我要在创buildbutton的函数内部调用的函数,但我遇到了不知道target需要什么达到。 class ViewController { // Main code here } func makeButton() { // Code to make button here button.addTarget(???, action: "buttonPressed",…) func buttonPressed() { // Code that runs when the button is pressed goes here } } 提前致谢!

出示几个模态视图控制器后如何回到Tabbar控制器

这是我的视图层次结构 login—->仪表板(具有3个VC的Tabbar控制器)。 从一个标签栏控制器的VC提交4个VC的一个接一个的模态。 —-> VC1 —-> VC2 —-> VC3 —-> VC4。 1.如何从VC4回到tabbar控制器? 2.我的应用程序因内存崩溃了一些。 因为我没有在所有视图控制器中的任何后退button,我想从展示VC3 VC3和VC2 VC3等内存中删除VC1。什么是最好的方式来实现这一目标? 3.我有一个注销button在我的一个视图控制器在tabbar,什么是最好的方式来呈现login屏幕? (目前我被连接login,这是正确的方法吗?) 谢谢..

iOS(结构):Crashlytics崩溃应用程序发射

我已经更新了Crashlytics,但仍然在启动时出现此错误: 错误:***终止应用程序由于未捕获的exception'FABException',原因:'[织物]看起来“Crashlytics”不是一个有效的光纤套件。 请确保您只通过织物套件[织物:]。 这是我的代码: func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. Fabric.with([Crashlytics.self]) return true }

针对CKReference的CloudKit预订通知未按预期工作

我试图设置一个CKSubscription的logging,其中包含一个CKReference字段的字段给用户。 但是,无论何时创buildlogging,都会忽略compoundPredicate的这一部分,并且通知永远不会到来。 在CKSubscription的谓词中使用CKReference有什么不同吗? 我进入仪表板input一个新的logging下我自己的用户recordID(当在模拟器中运行另一个用户),因为我相信我读了如果logging来自设备,它将不会收到通知。 任何洞察力都非常感谢,因为我已经坚持了一个星期,并找不到任何特定于此的任何事情。 我能够得到真正的types谓词通知,所以我认为我的基本设置是好的。 在仪表板中,我看到了两个testing用户的通用订阅,但没有任何用户的具体recordID(这是否重要?): Notifications.read (equals string) Notifications.user (equals reference) 当我执行fetchAllSubscriptionsWithCompletionHandler方法时,它会在debugging器中显示当前用户的特定recordID作为CKReference。 所以我不知道为什么不行。 这是我的代码,我首先创buildCKReference,然后用它作为我的谓词: var recordIDString = CKRecordID(recordName: "_a86dac8ee05f8c6ab35746bf9663d7b8") // I normally store this string in the NSUserDefaults. let userRef = CKReference(recordID: recordIDString, action: .DeleteSelf) let predicate = NSPredicate(format: "user = %@", userRef) let predicateTwo = NSPredicate(format: "read = %@", "") // I […]

Xcode 6自适应故事板不同的每个设备的Segues

我在Xcode 6中新引入的自适应故事板中遇到了一些麻烦。iPhone应用程序已经完成,现在我想创build一个通用应用程序。 假设我有一个viewcontroller ,它显示了一些单元格和一个详细的viewcontroller ,其中显示了单元格的细节。 在iPhone上:当我点击单元格时,我push segue了细节视图。 在iPad上:我想有一个modal segue而不是一个推。 我可以在prepareForSegue或其他方面改变这个吗? 编辑:我find了一种方式…但我并不完全满意。 如果有人有更好的解决scheme,请告诉我… 我做了两个赛段,并在代码中加以区分。 if (UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Pad) { self.performSegueWithIdentifier(kSegueToDetailModal, sender: object) } else if (UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Phone) { self.performSegueWithIdentifier(kSegueToDetail, sender: object) }

PHObject localIdentifier可靠性

在什么情况下,localIdentifier可能会改变或不准确? 我正在开发一个备份照片的应用程序,并且已经被同事告知,localIdentifier不可信。 然而,在做了一些研究后,我一直无法find任何人谈论这个。

如何closuresMFMailComposeViewController?

我想从我的Swift应用程序发送电子邮件,它运作良好,它发送电子邮件。 不过,发送邮件后,布局不会退出。 我想在发送电子邮件后退出布局。 我也想要这样的行为,当我按下取消,删除草稿或保存草稿button。 这是我必须发送电子邮件的代码(按下button之后): @IBAction func btnSendEmailAction(_ sender: AnyObject) { let composeVC = MFMailComposeViewController() composeVC.mailComposeDelegate = self composeVC.setToRecipients(["mymail@mail.com"]) composeVC.setSubject("Hello!") composeVC.setMessageBody("Hello World!", isHTML: false) self.present(composeVC, animated: true, completion: nil) } func mailComposeController(controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) { switch result { case MFMailComposeResult.cancelled: controller.dismiss(animated: true, completion: nil) break case MFMailComposeResult.sent: controller.dismiss(animated: true, completion: nil) […]

在Swift 2.0中更改AVAudioPlayer的rate var时发生声音失真

我正在制作一个简单的audio播放应用程序。 它有大约10个audio文件,每个文件的正常播放速度为100次/分钟。 用户可以在调用play()函数之前input一个速度variables(70到140 bpm之间),该速度variables被赋予(速度/ 100)到AVAudioPlayer速率var。 @IBAction func playPause(sender: AnyObject) { if !isPlaying { let audioPath = NSBundle.mainBundle().pathForResource(selectedTrack, ofType: "mp3") do { try player = AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: audioPath!)) player.enableRate = true player.rate = Float(tempo) / 100 player.play() isPlaying = !isPlaying } catch { print ("play error") } } } 以audio正常速度播放(100b.pm)的效果非常好。 但是,通过改变速度甚至每单一bpm单位,播放听起来真的很差。 速度转换听起来准确(即降低速度变化导致audio变慢,反之亦然),并且音调听起来像保持(尽pipe在持续音符中有点“摇晃”),但音质似乎受到主要方面的负面影响。 我也许会期望这个更为剧烈的利率变动(利率<50%或利率> 200%),但即使在99%和101%的情况下也是非常明显的。 我正在使用44k / […]