Articles of swift

使用Glibc的散列函数

我一直在试图在Swift中encryptionstring,但是我希望它能在linux下工作。 类似下面的代码(从这些 问题中获得的答案不起作用,因为它们依赖于iOS或OSx库: func sha256(data : Data) -> Data { var hash = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH)) data.withUnsafeBytes { _ = CC_SHA256($0, CC_LONG(data.count), &hash) } return Data(bytes: hash) } 在linux下如何使用Glibc来完成?

什么types的应用程序,我们可以在Linux内使用Swift(开源)

随着Swift作为开源的公布发布 ,我想起了一个问题。 显然,语言/编译器支持Linux除了明显的苹果不同的操作系统,但是什么样的应用程序真的可以在Linux中创build? 我们可以使用Swift,iOS,OSX等应用程序或仅Linux应用程序在Linux内创build哪些types的应用程序? 或者更好,因为这可能是早期的问题,我们将来可以在Linux中创build什么types的应用程序?

Linux上的Swift:如何指定编译器优化

在编译Swift应用程序时,stackoverflow上的几个线程(例如这个 )讨论了不同的优化级别( Onone , O , Ounchecked …)。 但是,这些贴子与OSX上的开发有关。 看来这些优化可以直接通过Xcode或xcrun( xcrun swift -O3 )来设置。 我想知道如何直接在Linux(Ubuntu 15.10)上使用Swift编译器时切换不同的优化级别。 目前,我只是通过调用swift build应用程序,因为它显示在文档中,但是我发现没有办法不改变优化级别。

Xcode中的NSNumber(value :)的行为与Open Source Swift Distribution相比

构造一个值为UInt8.max的NSNumber在Xcode 8中产生的结果与在Linux上使用Swift 3.0的开源版本不同。 Xcode 8: print(NSNumber(value: UInt8.max)) // 255 (__NSCFNumber = Int16(255)) Linux上的Swift 3.0: print(NSNumber(value: UInt8.max)) // -1 在线试用。 这是故意的吗? 我预计这两个Swift分布上的值都等于255。 正如Martin在评论中写道的,这似乎是Swift解释器SR-90的一个缺陷

使用函数来定义Swift中的结构属性

我正在使用Swift创build大量的结构,所有这些结构大体上遵循相同的模式。 每个结构都包含许多具有getter和setter的计算属性,每个结构types之间的唯一区别是计算属性的数量以及每个结构的名称和types。 例如, struct Employee { var title: String { get { /*…*/ return someDict["title"] as! String } set { /*…*/ } } var id: Int { get { /*…*/ return someDict["id"] as! Int } set { /*…*/ } } var salary: Double { get { /*…*/ return someDict["salary"] as! Double } set { /*…*/ […]

什么Swift 2.0被释放到Linux意味着开发iOS应用程序?

https://developer.apple.com/swift/blog/?id=29 这是否意味着我们应该能够在Linux上开发iOS / OSX应用程序? 是的,不,也许?

将序列化为JSON

我在Linux上试用Swift。 我有以string键和字典值的任何types的字典forms的数据,并试图将这些string序列化为JSON格式的string。 NSJSONSerialization.dataWithJSONObject没有工作,它抱怨Argument type '[String : Any]' does not conform to expected type 'AnyObject' let dict : [String : Any] = [ "string" : "Hello", "int" : 1, "double" : 3.14, "array str" : ["a", "b", "c"], "array double" : [1.0, 2.0, 3.0], "array int" : [1, 2, 3] ] 我知道它必须是可行的,因为字典的string表示已经几乎是正确的格式了: print("\(dict)") ["array int": [1, […]

httpAdditionalHeaders不能在Linux上工作

我遇到了OS X和Linux上URLSession / URLSessionConfiguration / URLSessionDataTask不同行为的问题。 Swift:3.0.2 Kitura:1.3 我正在做以下事情: let aURL = URL(string: "…")! // Because shared is not implemented let sessionConfig = URLSessionConfiguration.default sessionConfig.httpAdditionalHeaders = ["Accept": "application/json", "Accept-Language": "sv-SE"] let session = URLSession(configuration: sessionConfig) // additionalHeaders are set just fine Log.info("\(session.configuration.httpAdditionalHeaders)") let dataTask = session.dataTask(with: aURL, completionHandler: { data, loadResponse, error in … }) […]

NSDictionary在Linux上加载二进制plist(swift)

由于服务器端swift的实现是不同的,所以缺lessNSArray和NSDictionary一个基本(对我的项目)的一部分。 即dictionaryWithContentsOfFile:方法只在Linux上加载非二进制plist文件,所以我的应用程序只能在macOS上运行。 有关StackOverflow答案的一些旧的问题,这个话题,但他们导致不存在的网站了。 所以我的问题是:是否有任何简单的方法来加载二进制plist到NSDictionary,而不必使用一些“反编译”外部脚本,如果没有解决scheme,什么是最优雅的解决scheme使用一个?

我能在Linux上使用Realm吗?

完美 – https://www.perfect.org – 是一个新的Web服务器,可以让你在服务器端使用相同的语言,就像你在设备上一样。 它将在今年年底之前与Linux版本的Swift兼容 – 可能是因为它只是使用了Swift的标准库, 它有用于MongoDB,MySQL,PostgreSQL的连接器。 目前,我正在使用Swift中的Realm数据库开发应用程序。 我能在服务器端使用Realm吗? 它只是使用Swift标准库吗?