Articles of 迅速

App Store留下评论/评分iOS 8 Swift

我在设置表视图中有一个单元,我想直接将用户发送到Appstore并打开应用程序页面,以便他们可以留下评论。 有很多关于Stackoverflow的内容,但没有一个在Swift中为iOS8工作。 谢谢。

UInt8 XOR'd数组结果到NSString的转换每次都返回nil

我遇到的问题与iOS Swift 2.0在[UInt8]上执行XOR并将XORd结果转换为string。 我不得不与一个粗糙的服务器进行交互,该服务器想要使用预定义的UInt8值数组进行简单的XORencryption,并将结果作为string返回。 使用iOS Swift 2.0 Playground,创build以下数组: let xorResult : [UInt8] = [24, 48, 160, 212] // XORd result let result = NSString(bytes: xorResult, length: xorResult.count, encoding: NSUTF8StringEncoding) 结果总是零。 如果从数组中删除160和212的值,NSString不是零。 如果我切换到NSUTF16StringEncoding然后我不收到零,但是,服务器不支持UTF16。 我已经尝试将值转换为hexstring,然后将hexstring转换为NSData,然后尝试将其转换为NSUTF8StringEncoding,但仍然零,直到我删除了160和212.我知道这个algorithm在Java中工作,但是在Java中,重新使用char和StringBuilder的组合,一切都很开心。 有没有在iOS Swift中解决这个问题的方法?

AVCaptureStillImageOutput&UIImagePNGRepresentation

对于我认为不应该那么困难的事情,我很难过,所以我认为我必须从错误的angular度看问题。 为了解如何AVCaptureStillImageOutput和相机工作,我做了一个小应用程序。 这个应用程序能够拍照并将其保存为PNG文件(我不需要JPEG)。 下次启动应用程序时,会检查文件是否存在,如果存在,则将存储在文件内的图像用作应用程序的背景视图。 这个想法很简单。 问题是它不起作用。 如果有人能告诉我我做错了什么,这将是非常有帮助的。 我希望图片以与显示时相同的方式出现在背景上,但是它被旋转或者尺寸错误.. .. 这里是相关的代码(如果需要,我可以提供更多的信息)。 viewDidLoad方法: override func viewDidLoad() { super.viewDidLoad() // For the photo capture: captureSession.sessionPreset = AVCaptureSessionPresetHigh // Select the appropriate capture devices: for device in AVCaptureDevice.devices() { // Make sure this particular device supports video. if (device.hasMediaType(AVMediaTypeVideo)) { // Finally check the position and confirm we've got […]

Firebase在查询为空时

我使用firebase执行查询来检查是否有任何具有特定值的子对象。 问题是如果没有这样的对象代码不运行。 所以在下面的代码中,如果没有对象具有一个facebookID为17的孩子,那么剩下的代码将永远不会运行。 有没有办法来确定查询何时发现0结果? func previousUser(completion:(result:Bool)->Void){ var queryFound = false print("check if user is previous") print(UserData.globalfacebookID) let ref = Firebase(url:"https://amber-torch-556.firebaseio.com/Users") ref.queryOrderedByChild("facebookID").queryEqualToValue(17).observeSingleEventOfType(.ChildAdded, withBlock: { snapshot in print(snapshot.childrenCount) print("query has ran") UserData.globalparseID = snapshot.key queryFound = true completion(result:queryFound) })

无法从Objective-C pod访问快速类

我创build了一个新的单视图swift项目,然后添加一个pod文件(用于MWPhotobrowser )并安装它。 我现在可以在ViewController.swift文件的顶部import MWPhotobrowser ,并且毫无问题地使用这个框架。 但我需要通过向MWPhotoBrowser.h文件添加额外的属性对此窗格进行一些更改,其中一个属性是对ViewController.swift类的引用。 我知道以下几点: A)由于pod update会覆盖这些更改,因此对pod框架进行更改不是一个好习惯。 B)我可以叉主github回购和点cocoa豆荚到我的叉子。 C)我可以下载github的框架,根本不使用cocoa豆荚。 但是对于我的具体情况,我需要从cocoa豆荚里面访问ViewController类? 我已经试过的东西: 1)在主项目以及pod项目中Defines Modules设置为yes 2) #import "ProjectName-Swift.h"给出的文件没有find 3)将文件ViewController.swift拖到Pods项目(项目导航器中的蓝色图标),这给了我: Include of non-modular header inside framework module 'MWPhotoBrowser.MWPhotoBrowserPrivate'构build错误Include of non-modular header inside framework module 'MWPhotoBrowser.MWPhotoBrowserPrivate' ,我试过所有可能的解决scheme所以要解决这个错误,但无济于事… 4)用@objc属性标记ViewController类 这里是一个干净的示例项目 。 我怎样才能从内部的豆荚访问ViewController的基于ViewController的类?

在Swift中点击时如何更改button的BGColour

我是iOS新手(Swift)。 你能告诉我如何改变一个button的背景颜色,当它被轻按/按下。 代码必须在Swift中。 我尝试了,但我无法find解决scheme

watchOS 2上的最大内存使用情况?

我没有发现任何有关在watchOS 2中的应用程序的内存使用情况。我目前正在为watchOS开发一个应用程序,而我正在手表中使用Core Data。 当我将189个对象中的166个加载到数组中时,应用程序崩溃,那个时候的内存使用量是34mb。 由于手表有512mb的内存,我不完全确定只有一个应用程序可以使用多less。 我会改进我的代码的性能和内存使用率,但是我仍然不知道我可以使用多less内存,因为据我所知在Apple Developer门户上不可用。 如果您知道的话,希望知道关于此事的信息。 谢谢!

在任何文本字段中键入崩溃的应用程序

出于某种原因,每当我添加一个文本字段到我的项目,并尝试键入它,应用程序崩溃。 我得到的错误是: Can't find keyplane that supports type 4 for keyboard iPhone-PortraitChoco-NumberPad; using 1336863583_PortraitChoco_iPhone-Simple-Pad_Default -[NSNull length]: unrecognized selector sent to instance 0x1018b1d80 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull length]: unrecognized selector sent to instance 0x1018b1d80' 这发生在模拟器和设备上。 我也没有在模拟器设置中选中“连接硬件键盘”。 我必须处理每一个input吗?

在UITableView设置分隔线的开始?

UITableView具有分隔线,如下图所示。 他们不是从一开始就开始的。 看到图像中的红色框。 我想改变他们开始的地方。 我如何指定表格视图中分隔线的位置?

如何将数据从第三个视图控制器传回第一个视图控制器?

我目前有一个导航控制器,包含一个视图控制器和两个表视图控制器。 当用户导航到第二个表格视图控制器时,他们可以按下一个“+”barbutton项目,这个button项目用一个包含文本字段的静态单元模式地呈现另一个表格视图。 用户可以input文本并按'完成'来保存。 当我的委托方法被调用时,视图控制器被closures,用户input的string被追加到第二个视图控制器中的数组。 表格视图然后在表格单元格中显示用户input的文字。 数组已经通过prepareForSegue方法传递给堆栈。 这是目前正在工作,因为我可以看到在第一个视图控制器中的数组实例化的表视图中的string。 当用户在第二个表视图(包含单元格中显示的用户input的string)之前导航返回到任何视图控制器时,会发生此问题。 我已经成功地将数据传递给前一个视图控制器,但经过大量研究和testing后,我无法成功获取用户input的string。 当我导航到先前的视图控制器,然后返回到第二个表视图时,用户input的数据不见了,数组只包含初始数据。 我明白,在Swift中的数组是结构和值传递到堆栈时被复制。 这对于为什么用户input的数据在导航到前一个视图控制器时消失是有意义的。 以前的视图控制器实际上不包含用户input的数据。 这是否意味着我需要将string追加到初始视图控制器中的数组而不是第二个表视图控制器中的数组? 如果是这样的话,我不确定如何从第三个视图控制器访问初始视图控制器。 我所访问的所有文档和教程都是基于将数据从当前视图控制器传递回先前的视图控制器,该视图控制器是委托人,然后closures接受input的视图控制器。 我怎样才能将用户input的string从最后一个视图控制器返回到初始视图控制器?