Tag: 迅速

在Swift中初始化类的方法?

我正在寻找类似于Objective-C的+(void)initialize类方法的行为,因为该方法在类初始化时调用一次,之后再也不会再调用。 classclosures中的一个简单class init () {}将非常光滑! 很显然,当我们使用“ class var s”而不是“结构闭包中的static varvariables”时,这一切都将非常吻合!

Xcode 6故事板解开棘手与斯威夫特不连接退出

当试图将一个导航栏button连接到Xcode 6中的一个ViewController的Exit项时(不太确定它是否是Xcode 6的问题,但值得一提的是它在beta中),它在自定义类中找不到Swift函数。 它应该发现的function: @IBAction func unwindToList(segue: UIStoryboardSegue) { } 我在视图上做了另一个button,以确保我能得到一个IBAction与斯威夫特工作,我正确地写它。 这工作正常: @IBAction func test(sender: AnyObject) { NSLog("Test") } 我看到这个问题似乎是一样的问题,但根据答案,这应该是工作。 Xcode 6处于testing阶段,当然,Swift是非常新的,但是想要看看有没有人遇到过这个问题,然后再考虑一个潜在的bug。

我如何将一个NSMutableArray转换为特定types的Swift数组?

我正在将我的iOS项目迁移到Swift。 我正在按class上课。 当我从Swift调用Objective C方法时,很多Objective Ctypes被转换为Swift对象。 在我的情况下,Objective C NSMutableArray被转换为Swift的Array<AnyObject> 。 现在这里出现我的问题。 在我的Swift类中,我从一个Objective C对象中得到了一个这样的数组。 现在我在Swift世界中,我想将这个数组转换成一个特定的types,而不是AnyObject ,因为我知道这个数组中存在着什么types的对象。 编译器不会让我这样做! 让我简化我的问题,说我想转换为包含string的数组。 这是我试过的: var strings = myObjcObject.getStrings() as [String] 我从编译器得到以下错误: 'String'与'AnyObject'不一样 我不得不同意编译器,因为String确实与AnyObject不相同。 但我不明白为什么这是一个问题。 如果需要,我可以将AnyObject转换为String,对吧? 我也试过: var strings = myObjcObject.getStrings() as? [String] 这似乎是在正确的方向迈出的一步,但getStrings()返回一个NSMutableArray所以我得到以下错误: “NSArray”不是“NSMutableArray”的子types 有什么办法可以做我想在这里做的?

从一个对象数组中获取一组属性值

有一个叫做Employee的类。 class Employee { var id: Int var firstName: String var lastName: String var dateOfBirth: NSDate? init(id: Int, firstName: String, lastName: String) { self.id = id self.firstName = firstName self.lastName = lastName } } 我有一个Employee对象的数组。 我现在需要的是将该数组中所有对象的id提取到一个新的数组中。 我也发现了这个类似的问题 。 但它在Objective-C中,所以它使用valueForKeyPath来完成这个。 我怎么能在Swift中做到这一点?

Swift .uppercaseString或.lowercaseString属性replace

由于在Swift中的string不再具有.uppercaseString或.lowercaseString属性可用,我将如何去执行该function? 如果我有例如: var sillyString = "This is a string!" let yellyString = sillyString.uppercaseString let silentString = sillyString.lowercaseString 我想采取sillyString并将其变为大写或小写。 我现在要怎么做呢? 提前致谢!

使用Swift获取版本和构build信息

我试图访问主NSBundle检索版本和生成信息。 我想知道如何在Objective-C中用Build.text = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];检索它Build.text = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 。 然而,我不知道从哪里开始,我试图用新的语法来写,而没有用。 谢谢你的帮助!

Swift 2 / iOS 9 – 找不到libz.dylib

我在我的新的Swift 2.0项目中使用了一些外部代码,在早期版本中需要“libz.dylib”。 更新到新的XCode /新的SDK。 XCode现在无法导入libz.dylib并引发一些错误 未定义的符号体系结构i386:“_deflate”,引用自:GAAGompressionUtil gai_dataByCompressingBytes:length:compressionLevel: (GAICompressionUtil.o)“ deflateInit2 ”,引用来自:+ GAICompressionUtil(“ GAICompressionUtil ”)中的引用来自于:“GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel:mode:] in libGoogleAnalyticsServices.a(GAICompressionUtil.o)”_inflate“ libGoogleAnalyticsServices.a(GAICompressionUtil.o)“inflateInit2”中的引用自:+ GAICompressionUtil gai_dataByInflatingBytes:length:isRawData: [GAICompressionUtil gai_dataByInflatingBytes:length:isRawData:] in libGoogleAnalyticsServices.a(GAICompressionUtil.o)ld:symbol( s)找不到i386体系结构clang:错误:linker命令失败,退出代码1(使用-v查看调用) 当在“构build阶段”设置中查看可用包时,我可以find“libz.tbd”,这似乎是libz.dylib的替代品。 当导入这个库链接错误保持不变,但我得到这个额外的警告: 警告:跳过文件'/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/usr/lib/libz.tbd'(意外的文件types'文本'in框架和图书馆build设阶段) 任何想法该怎么办?

如何在Swift语言中传递一个错误指针?

我试图在swift传递一个错误指针,我无法这样做。 编译器抱怨说“NSError不能转换为'NSErrorPointer'”。 var error: NSError = NSError() var results = context.executeFetchRequest(request, error: error) if(error != nil) { println("Error executing request for entity \(entity)") }

用迅捷的语言表示null / nil

我们如何用swift编程语言来定义以下内容: 空值 零 零 [NSNull null] 换句话说,这些客观条款中的每一个的快速等价物是多less。 此外,还想知道是否存在针对结构和枚举等非客观types的特定用例。 提前致谢。

Swift 3 GCD API更改后的dispatch_once

语言版本3所做的更改之后,Swift中dispatch_once的新语法是什么? 旧版本如下。 var token: dispatch_once_t = 0 func test() { dispatch_once(&token) { } } 这些是对libdispatch所做的更改 。