在Swift中定制类集群

这是一个比较常见的devise模式: https://stackoverflow.com/a/17015041/743957 它允许你从init调用中返回一个子类。 我试图找出使用Swift实现相同的事情的最佳方法。 我知道很可能有一个更好的方法来实现Swift同样的事情。 但是,我的课程将由我无法控制的现有Obj-C库进行初始化。 所以它需要以这种方式工作,并可以从Obj-C调用。 任何指针将非常感激。

在swift中对所有出现的string进行着色

这个代码 var textSearch="hi" var textToShow="hi hihi hi" var rangeToColor = (textToShow as NSString).rangeOfString(textSearch) var attributedString = NSMutableAttributedString(string:textToShow) attributedString.addAttribute(NSForegroundColorAttributeName, value: UIColor.yellowColor() , range: rangeToColor) TextView.attributedText=attributedString 给我NSRange在TextView中为string着色。 问题是我只返回第一次出现。 如果单词包含“hi hihi hi”,则只有第一个“hi”被着色。 我怎样才能得到所有的string?

iPhone:以编程方式访问语音备忘录

我正在写一个应用程序,使用AVAudioPlayer播放一些简单的声音和声音。 然而,为了真正使应用程序“杀手”,它需要访问用户自己的语音备忘录,以便他们可以使用我的应用程序播放自己的备忘录(我的应用程序实际上做了一些很酷的备忘录,所以有实际上是使用它的一个要点!:p)。 我还没有find任何文档,也没有任何指南(在这里或在云中)。 这甚至可能,或者我必须添加一个小指南,要求用户录制声音,导入到iTunes,与设备同步,然后通过音乐库访问它? 或者也许是另一种录制应用程序的解决scheme?

在Swift中使用GLKit中的GLKMath

所以我使用了Ray Wenderlich的一个叫做iOS Games的书,试图利用在这里find的一些Objective-C代码来对我的游戏中的angular色进行加速度计控制。 而不是Objective-C,我想使用Swift。 当我尝试创build一个代表3Dvector的GLKVector3types的variables时遇到了一个问题。 当我input: var raw:GLKVector3 = GLKVector3Make(irrelevant stuff) 我得到以下错误: 使用模块GLKVector3作为types。 我在GLKit的swift文件的顶部有一个导入: import GLKit 任何想法如何从我的程序中使用GLKMath文件的function?

iOS 9 CloudKit:连接到蜂窝networking时,查询不会返回任何内容

我正在开发一个应用程序与Xcode 7testing版5.当我运行我的应用程序在我的iPhone 6,我尝试将它连接到CloudKit,如果我的iPhone在WiFi模式下工作,所有这些都没关系,我显示所有的数据; 但如果我的iPhone在LTE模式下工作,我看不到任何types的数据。 有谁知道如何做到这一点? func getRecordsFromCloud() { lavori = [] / let _cloudContainer = CKContainer.defaultContainer() let publicDatabase = CKContainer.defaultContainer().publicCloudDatabase / let predicate = NSPredicate(value: true) let query = CKQuery(recordType: "Lavori", predicate: predicate) / let queryOperation = CKQueryOperation(query: query) queryOperation.desiredKeys = ["image","name"] queryOperation.queuePriority = .VeryHigh queryOperation.resultsLimit = 50 queryOperation.recordFetchedBlock = { (record:CKRecord) -> Void in […]

在ios 8 beta 5中,视图控制器的nib文件被破坏了吗?

我在ios 8 beta 4中创build了一个testing项目,作为主视图控制器和第二个视图控制器,创build为具有xib文件的UIViewController子类。 我在主控制器上放了一个button来显示第二个控制器: class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } @IBAction func testVCBtnTapped() { let vc = TestVC() presentViewController(vc, animated: true, completion: nil) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be […]

错误:错误域= NSURLErrorDomain代码= -1001“请求超时。”

我正在使用Xcode 6.1,iOS 8.1的应用程序; 该应用程序工作完全罚款,直到2天前,但今天,当我执行它,我得到了一个错误的networking服务和错误打印如下。 错误:错误域= NSURLErrorDomain代码= -1001“请求超时。” UserInfo = 0x7c6899b0 {NSErrorFailingURLStringKey =,NSErrorFailingURLKey =,NSLocalizedDescription =请求超时,NSUnderlyingError = 0x7c688f60“请求超时。”} 我曾经使用AFNetworking 2.x和下面的代码片段进行networking调用: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.requestSerializer = [AFJSONRequestSerializer serializer]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; manager.responseSerializer.acceptableContentTypes=[manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"]; [manager POST:<URL> parameters:<parameters> success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"JSON: %@", responseObject); NSError *error = nil; NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:&error]; […]

Swift:一种尺寸的videologging,但尺寸不正确

目标是使用Swift在设备上捕捉全屏video。 在下面的代码中,video捕获看起来是全屏幕(logging相机预览使用全屏幕)时发生的,但是video渲染发生在不同的分辨率。 对于5S具体来说,似乎捕获发生在320×568但渲染发生在320×480 。 如何捕捉和渲染全屏video? video拍摄代码: private func initPBJVision() { // Store PBJVision in var for convenience let vision = PBJVision.sharedInstance() // Configure PBJVision vision.delegate = self vision.cameraMode = PBJCameraMode.Video vision.cameraOrientation = PBJCameraOrientation.Portrait vision.focusMode = PBJFocusMode.ContinuousAutoFocus vision.outputFormat = PBJOutputFormat.Preset vision.cameraDevice = PBJCameraDevice.Back // Let taps start/pause recording let tapHandler = UITapGestureRecognizer(target: self, action: "doTap:") view.addGestureRecognizer(tapHandler) […]

如何在swift中重载赋值操作符

我想重写一个CGFloat的'='运算符,如下所示: func = (inout left: CGFloat, right: Float) { left=CGFloat(right) } 所以我可以做到以下几点: var A:CGFloat=1 var B:Float=2 A=B 可以这样做吗? 我得到的错误Explicitly discard the result of the closure by assigning to '_'

testing中的iPhone应用程序在几天后崩溃

我是新来的iPhone应用程序,这是我第一次尝试。 我做了一个简单的应用程序,它有两个button。 一个button打开一个URL,另一个打开一个popup窗口。 我还没有注册成为苹果开发者,而是通过连接到Xcode来testing我的应用程序在物理设备上。 当我安装应用程序时,尽pipe从Xcode断开连接,它仍能正常运行几天。 但是,几天之后,应用程序不会打开并闪烁黑屏,然后返回到主屏幕。 当我重新连接到Xcode并在同一个iPhone上再次运行相同的代码,它再次正常工作了几天,然后再次崩溃。 我无法理解为什么应用程序在几天之后performance得如此,而不是立即。 如果没有作为开发者login,是否有申请到期? (configuration文件即将过期)如果不是,请指导我如何解决这个问题? 请给我尊敬的build议/意见,因为我很困难,需要尽快find一个解决scheme。 非常感谢!