Tag: 快速

UITableView使用Swift

我的TapCell1.swift 这是自定义的UITableViewCell View import UIKit class TapCell1: UITableViewCell { @IBOutlet var labelText : UILabel init(style: UITableViewCellStyle, reuseIdentifier: String!) { println("Ente") super.init(style: UITableViewCellStyle.Value1, reuseIdentifier: reuseIdentifier) } override func setSelected(selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) } } 我的ViewController.swift 它的所有数据源和委托都设置正确。但我的自定义单元格不显示。 import UIKit class NextViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { @IBOutlet var label: UILabel @IBOutlet var tableView : […]

我怎么能让背景音乐继续播放,而我的应用程序仍然在使用Swift播放它的声音

我创build了一个应用程序,我试图让用户在玩我的游戏的同时继续听音乐,但每当他们点击“播放”,游戏就会停止播放背景音乐。 我正在使用Swift在iOS上开发。 这是一段启动游戏声音的代码。 func playSpawnedDot() { var alertSound: NSURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("spawnDot", ofType: "mp3")!)! var error:NSError? audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error) audioPlayer.prepareToPlay() if volumeBool { audioPlayer.play() } }

当我们可以使用数组来返回多个值时,为什么要使用元组

今天我正在经历一些基本的快速概念,并正在用一些例子来理解这些概念。 现在我已经完成了元组学习。 我有一个疑问,即什么是使用元组的需要? 雅我做了一些挖掘这里是我得到的: 我们可以从一个函数返回多个值。 好的,但我们也可以通过返回一个数组来做到这一点。 数组好,但我们可以返回不同types的多个值。 好吧,但这也可以通过这样的AnyObject数组来完成: func calculateStatistics (scores:[Int])->[AnyObject] { var min = scores[0] var max = scores[0] var sum = 0 for score in scores { if score > max{ max = score } else if score < min{ min = score } sum += score } return [min,max,"Hello"] } let statistics […]

Swiftpipe理内存

这个问题已经清理完毕,重要的信息转移到了下面的答案。 我有一些关于内存pipe理的问题。 我正在构build一个照片编辑应用程序。 所以保持内存使用率低是重要的。 另外我不会发布代码,因为在做一件特定的事情时我没有大的内存泄漏。 发生的一切,我只是失去了几个KB / MB。 而成千上万的代码行来find千字节是没有趣的;) 我的应用程序使用核心数据,很多cifilter的东西,位置和基础知识。 我的第一个看法只是一个tableview,花了我大约5mb的内存。 然后,您拍摄一些照片,应用一些filter,将其保存到核心数据,然后返回到第一个视图。 除了驱动第一个视图所需的数据之外,是否有可能真正摆脱内存中的所有内容? (这非常保存和真棒5MB) 或者即使你把所有东西都设置为零,总会有东西留下来。 奖金问题: UIImageJPEGRepresentation和UIImagePNGRepresentation之间的文件大小/ CPU负载有差异吗? 我知道你可以用JPEG方法设置压缩质量(在CPU / GPU上更难?)。 只是想尽一切办法减less内存压力。 更新: 有人指出,这个问题可能太模糊了。 我在某个时候遇到的问题如下: 在某些情况下,峰值内存使用率过高 导航到第二个视图控制器,并返回导致泄漏 编辑图像会导致内存泄漏。 将filter应用于超过4-5个图像导致内存不足导致崩溃,此时没有更多的内存泄漏。 (在仪器中validation) 这是所有的testing在iPhone 4s,而不是模拟器。 这里有一个meme来点亮这个网站的心情。

Swift:按字母顺序排列对象的数组

我有这个: class Movies { Name:String Date:Int } 和一组[电影]。 如何按名称按字母顺序排列数组? 我试过了: movieArr = movieArr.sorted{ $0 < $1 } 和 movieArr = sorted(movieArr) 但这不起作用,因为我没有访问电影的名称属性。

iOs 8,在后台开始播放声音,闹钟应用程序

我知道SOF有很多问题,但这是“最新”的一个。 事情是,我试图创build和报警的应用程序,我知道有一个事实,有警报应用程序完美的作品(不知何故),即使应用程序不运行,并在后台。 我的问题是:你的应用程序已经在后台后,你怎么开始播放声音? UILocalNotification是伟大的,但你只会得到application:(_:didReceiveLocalNotification:)用户已经点击您的通知后,所以播放声音使用AVAudioPlayer没有工作,我想播放声音,无论天气用户点击它或者不。 当然对于Required background modes: App plays audio or streams audio/video using AirPlay在已经设置的info.plist Required background modes: App plays audio or streams audio/video using AirPlay 。 一旦音乐开始播放,即使我进入后台,它也会继续播放。 我不想使用UILocalNotificaation声音,因为它限制在30秒内,只能够播放与应用程序捆绑在一起的声音。 任何见解? 想法? 示例代码: var notif = UILocalNotification() notif.fireDate = self.datePicker.date notif.alertBody = "test" UIApplication.sharedApplication().scheduleLocalNotification(notif) 当用户select并报警并点击保存时,上面的代码被调用。 以下是AppDelegate中发生的事情: func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { NSLog("launched") […]

如何在Swift中使用AVCaptureSession捕获图片?

我有一个UIViewController ,我使用AVCaptureSession来显示相机,它工作得很好,很快。 我把一个UIButton对象放在这个摄影机视图之上,并为这个button添加一个IBAction 。 这是现在的样子: 现在,当用户点击button时,我想要获取当前相机视图的图片: @IBAction func takePicture(sender: AnyObject) { // omg, what do do?! } 我不知道如何做到这一点。 我猜想可能是这样的: let captureSession = AVCaptureSession() var myDearPicture = captureSession.takePicture() as UIImage // something like it? 控制器代码的完整链接是在这里https://gist.github.com/rodrigoalvesvieira/392d683435ee29305059 ,希望它可以帮助

从Xcode 7 UItesting目标访问主机应用程序代码

我正在开发一个iOS项目,我需要从UItesting目标访问主机应用程序的代码,但是我发现它显示链接错误:当我尝试时未定义的符号。 我发现这个目标的testing主机和软件包加载器都是空的,所以我把它们设置到我的主机应用程序,并可以通过链接错误。 但是,在运行时,调用XCUIApplication.launch()时仍然失败。 有没有人想出如何从这个UItesting目标访问主机应用程序的代码? 如果不能做到这一点,我们不得不做所有的UItesting,这是非常片状的。 我们肯定需要在testing场景中使用非UI步骤。 我正在使用Swift来处理我的项目。

CGColorGetComponents()不返回黑色和白色的正确值

有没有人遇到过这个问题? 这看起来像苹果的代码中的错误,如果人们同意这个代码应该做我认为应该做的事情,我会提交一个雷达。 我并不是那么熟悉CoreGraphics色彩pipe理,因此我在问一个bug报告给苹果之前就问过了。 这是一个模板项目直接出来,唯一的非模板代码是你在下面看到的。 请注意,红色,绿色和蓝色都显示正确的组件值,但不是白色或黑色。 如果先改变顺序,比如先黑白再红,绿,蓝,问题依然存在。 这是Swift 1.2和Xcode 6.3.1(6D1002)。 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let colorComps = [ CGColorGetComponents(UIColor.redColor().CGColor), CGColorGetComponents(UIColor.greenColor().CGColor), CGColorGetComponents(UIColor.blueColor().CGColor), CGColorGetComponents(UIColor.blackColor().CGColor), CGColorGetComponents(UIColor.whiteColor().CGColor) ] var components = [CGFloat]() for cc in colorComps { for i in 0…3 { components.append(cc[i]) } } println("components: \(components)") } }

Alamofire:发送JSON作为请求参数

我有一个令人难以置信的长arrays和string,我想通过Alamofire发送,但我不知道如何将原始JSON作为参数。 JSON看起来有点像 { "skus":["8865594-CS,4387296-CS,1175540-CS…."], "listType": "H" } 而不是让行为像一个Swift数组,然后序列化,有没有办法,我可以通过这个JSON作为参数在Alamofire? 谢谢! 编辑: 我能够在文本编辑器中获得一些魔法,以得到格式化为Swift数组的样式(如var skus = ["abc", …] ),所以我将skus和listType变成了字典,按埃里克的build议。 除了我得到一个状态代码:414,这意味着这个URL太长了。