swift数组

Swift笔记-让你2小时学会Swift

安稳与你 提交于 2019-11-28 13:42:07
过年不能闲着,一边学习Swift,一边写笔记,相信在有一定其他语言基础的情况下用1.5小时看完该文章即可掌握。然后再花30分钟打开XCode写个Demo. 生命中拿出2小时来认识一门语言,很值吧! 笔记共分为两部分,一Swift基础知识,二使用Xcode开发一个软件 [TOC] swift基础知识 变量和常量 //定义变量 var myVariable = 123 //定义常量 let myConstantVariable = 123 // 隐式指定整数类型 var anInteger = 2 // 明确指定整数类型 let anExplicitInteger :Int = 2 元组 let aTuple = (1, "Yes") let anotherTuple = (aNumber: 1, aString: "Yes") let theOtherNumber = anotherTuple.aNumber // = 1 其他用法 let http404Error = (404, "Not Found") let (statusCode, statusMessage) = http404Error print("The status code is \(statusCode)") 更多用户函数返回值,返回两个以上的值,跟golang很像 数组 var arrayOfIntegers

今天开始用swift写服务器(一)

此生再无相见时 提交于 2019-11-27 09:35:38
用swift写服务器的已经不是什么新鲜事了,这几年的发展,也是swift在服务端的表现越来越成熟,目前比较流行服务端框架主要有Vapor、 Perfect 、Kitura和Zewo,他们各有长短,本人这次主要是使用Perfect来写的,因为Perfect的功能比较完善,在GitHub上具有1W+的星,而且有一个非常重要的原因是,Perfect有中文文档。 Perfect 包括了您所期待的所有基本功能,包括路由、websockets 基于 HTTP 的网络套接字、TLS(SSL)通信加密、Mustache 模板和 Markdown 模板、JSON 结构化数据等等,以及全部其他所有 Swift 后台框架加在一起才有的 XML 结构化数据、苹果推送消息 APNS、MqTT 消息队列和 SMTP 邮件发送, 甚至大数据也支持 。 Perfect 的数据库支持非常广泛,其原生 SQL 驱动包括 MySQL、SQLite、PostgreSQL 和 MariaDB,还支持 MongoDB、Redis、CouchDB 甚至还包括 FileMaker(苹果自己的数据库 Swift 都不支持,Perfect 反过来支持——译者注)。Perfect 据说还部分支持微软的 ODBC,即多种数据库的底层兼容界面——有点像 ORM,但是以 C 函数库为基础。提到 ORM 数据库对象关系自动化管理

Swift 全栈的到来!使用 Perfect 进行 Swift-Android 集成开发工具测试

萝らか妹 提交于 2019-11-27 09:35:25
苹果对于 Swift Server 端的发力让诸多服务端框架应运而生,而由位于加拿大多伦多的 PerfectlySoft Inc. 公司研发推出的 Swift 服务端开源框架 Perfect 自开源以来便颇受开发者们喜爱,比如来自去哪儿网的团队便 基于 Perfect 完成了一套 RESTful API 的开发 。今天,PerfectlySoft 总裁尚·史蒂芬斯为我们带来了关于 Perfect 的最新动作——PerfectlySoft 与 SCADE 协商,允许 Perfect 社区成员独家参与其 Swift 跨平台全栈 IDE 测试,并且 SCADE 实现了对 Perfect 的排他性集成。 SCADE 类似 Xcode 的图形界面集成开发工具,但是可以将 Swift 源代码直接编译为 Android 原生应用 ,实现了 Swift 从 iOS 到 Perfect 服务器端,再继续延伸到 Android 系统的跨平台突破,真正实现了 Swift 全栈。 对此,Perfect 工程师 Jonathan Guthrie 分享了他对于使用 SCADE 的一点心得,具体如下: 首先,使用 Perfect 搭建一个 Swift 服务器,内容包括了服务器、认证和网页管理工具: 其内容就是一个欢迎页面、数据库记录列表和详单,即基本操作之类。 随后开始安装 SCADE,当时手头的

Swift 面试题

耗尽温柔 提交于 2019-11-27 07:10:47
文章转载自: http://www.pythonheidong.com/blog/article/2188/ 1. 给一个数组,要求写一个函数,交换数组中的两个元素 二X程序员: 好简单啊,直接写出以下结果 func swap(_ nums: inout [Int], _ p: Int, _ q: Int) { let temp = nums[p] nums[p] = nums[q] nums[q] = temp } 普通程序员: 首先跟面试官沟通,是什么类型的数组?面试官会说,任意。普通程序员微微一笑,写出以下代码 func swap<T>(_ nums: inout [T], _ p: Int, _ q: Int) { let temp = nums[p] nums[p] = nums[q] nums[q] = temp } 文艺程序员: 与面试官沟通,是什么类型的数组?有什么其他要求和限制?面试官会说,这是一个Swift面试题。文艺程序员心领神会,于是写出以下答案 func swap<T>(_ nums: inout [T], _ p: Int, _ q: Int) { (nums[p], nums[q]) = (nums[q], nums[p]) } 同时对以上代码写上相应测试,检测各种边界情况,再确认无误后,才会说,这道题目我完成了。 这道题目看似简单

苹果编程语言Swift简介

a 夏天 提交于 2019-11-26 21:15:40
Swift是什么? Swift是苹果于WWDC 2014发布的编程语言, The Swift Programming Language 的原话: Swift is a new programming language for iOS and OS X apps that builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible and more fun. Swift’s clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to imagine how software development works. Swift is the first industrial-quality systems programming language that is as expressive and enjoyable as a

Swift创建空数组

萝らか妹 提交于 2019-11-26 14:12:26
var yourArray = [String]() yourArray.append("String Value") Or let someString = "You can also pass a string variable, like this!" yourArray.append(someString) 通过插入添加 一旦有了一些值,就可以插入新的值而不是追加。例如,如果要在数组的开头插入新对象(而不是将其追加到末尾): yourArray.insert("Hey, I'm first!", atIndex: 0) let lineCutter = "I'm going to be first soon." let positionToInsertAt = 0 yourArray.insert(lineCutter, atIndex: positionToInsertAt) var yourOtherArray = ["MonkeysRule", "RemoveMe", "SwiftRules"] yourOtherArray.removeAtIndex(1) 当您知道数组中的值在哪里时(也就是说,当您知道它的索引值时),上面的方法非常有效。当索引值从0开始时,第二个条目将位于索引1。 在不知道索引的情况下删除值 但如果你不呢?如果你的数组有数百个值

Swift创建空数组

半城伤御伤魂 提交于 2019-11-26 14:12:23
var yourArray = [String]() yourArray.append("String Value") Or let someString = "You can also pass a string variable, like this!" yourArray.append(someString) 通过插入添加 一旦有了一些值,就可以插入新的值而不是追加。例如,如果要在数组的开头插入新对象(而不是将其追加到末尾): yourArray.insert("Hey, I'm first!", atIndex: 0) let lineCutter = "I'm going to be first soon." let positionToInsertAt = 0 yourArray.insert(lineCutter, atIndex: positionToInsertAt) var yourOtherArray = ["MonkeysRule", "RemoveMe", "SwiftRules"] yourOtherArray.removeAtIndex(1) 当您知道数组中的值在哪里时(也就是说,当您知道它的索引值时),上面的方法非常有效。当索引值从0开始时,第二个条目将位于索引1。 在不知道索引的情况下删除值 但如果你不呢?如果你的数组有数百个值