Tag: 快速

评估拍照事物的最佳方法是哪一种?

我的应用程序应该使用欧元硬币作为参考来估计对象的长度(以毫米为单位)。 这是一个截图示例: 为了得到被拍摄的硬币的直径,我首先计算出通过这三个点的圆的方程 x^2 + y^2 + ax + by + c = 0 然后我有直径 2 * square_root((a/2)^2 + (b/2)^2 -c) 。 最后我可以用下面的比例来得到红笔的长度: /* length_estimated_pen (mm) : distance_green_pins (points) = real_diameter_coin (mm) : diameter_on_screen (points) */ let distanceGreen:Double = Double(sqrt(pow(self.greenLocationA.center.x – self.greenLocationB.center.x, 2.0) + pow(self.greenLocationA.center.y – self.greenLocationB.center.y, 2.0))) let estimatedMeasure:Double = (distanceGreen * Double(ChosenMeter.moneyDiameter)) / […]

Swift正则expression式格式?

我熟悉做pcre正则expression式,但是他们似乎并不快速工作。 ^([1-9]\d{0,2}(\,\d{3})*|([1-9]\d*))(\.\d{2})?$ validation数字,如1,000,000.00 但是,把这个放在我的swift函数中,会导致一个错误。 extension String { func isValidNumber() -> Bool { let regex = NSRegularExpression(pattern: "^([1-9]\d{0,2}(\,\d{3})*|([1-9]\d*))(\.\d{2})?$", options: .CaseInsensitive, error: nil) return regex?.firstMatchInString(self, options: nil, range: NSMakeRange(0, countElements(self))) != nil } } “无效的转义序列无效” 这当然是因为pcre使用了“\”字符,这个字符很快被解释为逃避(我相信?) 所以,因为我不能只使用我习惯的正则expression式。 我如何将它们翻译成与Swift代码兼容?

如何在Swift 3中使用UnsafeMutablePointer?

我有下面的代码写在Swift 2.2中: let keyData = NSMutableData(length: 64)! SecRandomCopyBytes(kSecRandomDefault, 64, UnsafeMutablePointer<UInt8>(keyData.mutableBytes)) XCode 8强调了第二行,并声称 无法使用types为“(UnsafeMutableRawPointer)”的参数列表调用types为“UnsafeMutablePointer <_>”的初始值设定项 虽然我很欣赏XCode告诉我这一点,但我不太了解如何将UnsafeMutableRawPointer更改为可接受的。 有谁知道如何将此代码转换成Swift 3?

用给定的分布生成随机数

看看这个问题: 随机数被选中的概率是多less? 最好的答案build议使用一个switch语句,完成这项工作。 但是,如果我有很多情况要考虑的话,代码看起来很不雅观; 我有一个巨大的开关语句,在每种情况下,代码非常相似,一遍又一遍地重复。 有一个更好,更清洁的方法来select一个随机数字时,你有大量的概率考虑一定的概率? (像〜30)

types“任何”没有下标成员(firebase)

我得到这个错误:“types”任何'没有下标成员“试图运行这段代码时: init(snapshot: FIRDataSnapshot) { key = snapshot.key itemRef = snapshot.ref if let postContent = snapshot.value!["content"] as? String { // error content = postContent } else { content = "" } } 我一直在寻找答案,并找不到一个解决这个问题与FireBase。 我将如何解决这个错误?

如何使用Unicodehex值(UTF-16)在Swift中表示string

我想在Swift中使用hex值编写一个Unicodestring。 我已经阅读了string和字符的文档 ,所以我知道我可以直接在string中使用特殊的Unicode字符,如下所示: var variableString = "Cat‼🐱" // "Cat" + Double Exclamation + cat emoji 但是我想用Unicode代码点来做。 文档(和这个问题 )显示它的字符,但不是很清楚如何做的string。 (注意:虽然现在对我来说这个答案似乎很明显,但在很短的时间内就不是很明显了,我正在回答我自己的问题,作为学习如何做的一个手段,也是为了帮助我自己理解Unicode术语和Swiftangular色和string如何工作)

在Swift中从AppDelegate获取ViewController的实例

我想在应用程序委托中加载一个特定的ViewController,当用户点击一个UILocalNotification时。 我已经知道这是在这个函数中调用的: func application(application: UIApplication!, didReceiveLocalNotification notification: UILocalNotification!) 但是,当我尝试访问其中一个开放的ViewControllers,我认为它返回null,因为我的应用程序崩溃。 这是我正在尝试的: var rootViewController = self.window!.rootViewController var storyBoard = rootViewController.storyboard var setViewController = storyBoard.instantiateViewControllerWithIdentifier("CurrentShows") as ViewController_CurrentShows rootViewController.navigationController.popToViewController(setViewController, animated: false) setViewController.reloadData() 它在popToViewController行崩溃。

将一个types传递给一个通用的Swift扩展,或者理想地推断它

说你有 class Fancy:UIView 你想find所有兄弟Fancy意见。 没问题 … for v:UIView in superview!.subviews { if let f = v as? Fancy { f.hungry = false } } 所以,试试扩展名, public extension UIView { internal func fancySiblings()->([Fancy]) { return (self.superview! .subviews .filter { $0 != self } .flatMap { $0 as? Fancy } ) } } 真棒,你现在可以 for f:Fancy in […]

在Swift中添加千位分隔符到Int

我对Swift相当陌生,遇到了很多麻烦,想方设法将一个空格添加为千位分隔符。 我希望实现的是将计算结果显示在文本字段中,以便格式为: 2 358 000 代替 2358000 例如。 我不知道是否应该格式化Int值,然后将其转换为一个string,或将Int值转换为一个string后,添加空间。 任何帮助将不胜感激。

IPv6 – 苹果拒绝应用iOS

错误在哪里? 苹果拒绝应用程序并发送消息: 性能 – 2.1 在连接到IPv6networking的Wi-Fi上运行iOS 9.3.5的iPad和iPhone上进行审核时,我们发现您的应用中存在一个或多个缺陷。 具体而言,投票时出现错误, 支持IPv6 DNS64 / NAT64networking “如果您使用NSURLSession和CFNetwork框架等高级networkingAPI编写客户端应用程序,并通过名称进行连接,则不需要更改应用程序的任何内容以使用IPv6地址。” 接下来在苹果开发者论坛上说: N 3 – 我需要更新我的服务器吗? 这取决于你的服务器在哪里运行: 如果你的服务器运行在更宽的互联网上,答案是否定的 。 您的服务器将可通过DNS64 / NAT64访问仅IPv6设备。 你应该更新你的服务器来支持IPv6,但这是你自己的事情。 如果您的iOS应用程序中embedded了服务器(例如,允许用户将文件传入和传出应用程序的Web服务器),则应确保它在纯IPv6环境中正常工作。 我的主持人说: 我们没有看到任何问题,对于服务器与IPv6到您的服务器是IPv4将可通过DNAT / SNAT 我的网站(服务器): http : //badroads.info 我在App中的代码( 这个代码在一个星期前被另一个应用程序批准了 ): func sendToServer(dataFromDictionary: Dictionary<NSString, AnyObject>) { let url: NSURL = NSURL(string: "http://badroads.info/t-or-c/****.php")! let request:NSMutableURLRequest = NSMutableURLRequest(URL:url) let session = […]