Tag: 很快

使用正则expression式匹配emojis以及string中的文本

我正在试图find一个string的特定子string的范围。 每个子string都以hashtag开头,可以包含任何喜欢的字符(包括emojis)。 应该在不同的范围内检测重复的主题标签。 来自这里的一位善良的用户build议这个代码 var str = "The range of #hashtag should be different to this #hashtag" let regex = try NSRegularExpression(pattern: "(#[A-Za-z0-9]*)", options: []) let matches = regex.matchesInString(str, options:[], range:NSMakeRange(0, str.characters.count)) for match in matches { print("match = \(match.range)") } 但是,这个代码不适用于emojis。 包括emojis在内的正则expression式是什么? 有没有办法检测# ,然后是任何字符,直到空格/换行符?

什么是在Swift中的java接口或目标c协议的等价物?

我一直在寻找新的Swift语言,在互联网上浏览和searchApple提供的书籍之后,试图findSwift中的接口(在java中)或协议(在objective-c中)的等价物,我似乎还无法find它。 有没有人知道这个组件在swift中的名称是什么,它的语法是什么?

仅用于数字types的genericstypes约束

我想弄清楚如何实现genericstypes(在Swift中)的types约束,将genericstypes仅限于数字types。 比如Double,Int等,而不是string。 谢谢你的帮助。

Swift – 如何使用Firebase中的“shouldChangeTextInRange”进行实时search?

我想知道如何创buildFirebase matchesRegex查询并使用shouldChangeTextInRange 列出当前结果 。 在Parse Cloud中,我已经在Parse中search用户名或用户全名了。 如果有人点亮了我在Firebase中的路线,那就太好了。 // search updated func searchBar(searchBar: UISearchBar, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool { // find by username let usernameQuery = PFQuery(className: "_User") usernameQuery.whereKey("username", matchesRegex: "(?i)" + searchBar.text!) usernameQuery.findObjectsInBackgroundWithBlock { (objects:[PFObject]?, error:NSError?) -> Void in if error == nil { // if no objects are found according […]

可选绑定成功,如果不应该

这是我作为Swift中的遍历视图控制器层次结构 (略有修改)的可能解决scheme发布的内容: extension UIViewController { func traverseAndFindClass<T where T : UIViewController>(T.Type) -> T? { var currentVC = self while let parentVC = currentVC.parentViewController { println("comparing \(parentVC) to \(T.description())") if let result = parentVC as? T { // (XXX) return result } currentVC = parentVC } return nil } } 该方法应该遍历父视图控制器层次结构并返回给定类的第一个实例,如果没有find,则返回nil。 但它不起作用,我不明白为什么。 用(XXX)标记的可选绑定总是成功 ,因此即使不是T的实例,也会返回第一个父视图控制器。 这可以很容易地被复制:从Xcode 6 […]

如何使用generics协议作为variablestypes

假设我有一个协议: public protocol Printable { typealias T func Print(val:T) } 这是实施 class Printer<T> : Printable { func Print(val: T) { println(val) } } 我的期望是,我必须能够使用Printablevariables来打印这样的值: let p:Printable = Printer<Int>() p.Print(67) 编译器抱怨这个错误: “协议”Printable“只能用作通用约束,因为它具有自我或相关types的要求” 难道我做错了什么 ? 有任何解决这个问题的方法吗 ? **EDIT :** Adding similar code that works in C# public interface IPrintable<T> { void Print(T val); } public class Printer<T> […]