IOS-SWIFT - 技术教程文章

swift两种获取相册资源PHAsset的路径的方法(绝对路径)【代码】

方法中使用到的phasset就是我们取到的PHAsset对象方法一: 1 let options = PHVideoRequestOptions()2 3 options.version = PHVideoRequestOptionsVersion.current4 5 options.deliveryMode = PHVideoRequestOptionsDeliveryMode.automatic6 7 let manager =PHImageManager.default()8 9 manager.requestAVAsset(forVideo: phasset, options: options, resultHandler: { (asset, audioMix, info) in1011 let strArr = (...

Swift-如何快速学习Swift【图】

关于本文:1、说明本文写作的目的2、整理了Swift的基本语法树3、看图作文 一、写作目的昨天看了一个知识专栏,作者讲述的是“如何研究性的学习”。整个课程1个小时9分钟,花了我19块人民币。其中有一个观点,我很喜欢。那就是“把学习新知识当作是一门研究”。所以我今天就要付诸行动,学以致用,好好研究下怎么学习Swift。通过查阅资料,我把Swift的基本语法整理成了下面这个样子,方便看的清楚。二、整理的Swift基本语法树三、看...

生成二维码 - swift

首先 导入AVFoundation框架 @IBOutlet weak var iconView: UIImageView! override func viewDidLoad() { super.viewDidLoad() createQRCode() } private func createQRCode() { // 建立一个滤镜 let qrFilter = CIFilter(name: "CIQRCodeGenerator") // 重设滤镜的初始值 qrFilter.setDefaults() // 通过KVC设置滤镜的内容 qrFilter.s...

Swift 字典【代码】

/*********************************************************Swift 字典 *********************************************************/var dictionary = ["name":"LJF","age":"100"] println(dictionary) //1、字典键值对的添加 dictionary["height"] = "175" println(dictionary) //2、字典键值对的删除 dictionary.removeValueForKey("height") println(dictionary) //3、字典键值对的改动//3.1使用键,改动固定键的相应值 dict...

The Swift Programming Language (基础部分)【代码】

简介Swift 是一门开发 iOS, OS X 和 watchOS 应用的新语言。然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 Swift 的很多内容都是你熟悉的。Swift 包含了 C 和 Objective-C 上所有基础数据类型,Int表示整型值;Double和Float表示浮点型值;Bool是布尔型值;String是文本型数据。Swift 还提供了三个基本的集合类型,Array,Set和Dictionary,详见集合类型。就像 C 语言一样,Swift 使用变量来进行存储并通过变量名来关...

The Swift Programming Language 中文翻译版

原文(http://www.cnblogs.com/lkvt/p/3765349.html) 一、Welcome to Swift 1.关于SwiftSwift是一种用于iOS和OS X应用的全新编程语言,它建立在最好的C和Objective-C语言中。而且没有C语言的兼容性限制。Swift採用安全的编程模式。添加了现代功能使编程更easy、更灵活、更有趣。Swift背靠成熟且备受宠爱的Cocoa 和 Cocoa Touch框架的支持,这是一个又一次构想软件开发的机会。Swift经过了数年的酝酿,Apple通过改进现有的编译器、...

swift跳转到Appstore

//进入appstore中指定的应用 let str = NSString(format: "itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa /wa/viewContentsUserReviews?type=Purple+Software&id=%d", "myAppID") UIApplication.shared.canOpenURL(NSURL(string: str as String) as! URL)//进入首页 let str = NSString(format: "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=%@", "myAppID") ...

Swift - 类型嵌套(以扑克牌结构体为例)

类型嵌套,简单来说实在一个类型中包含另外一个类型。我们拿一副扑克来说明。1234567891011121314151617181920212223//类型嵌套structPoker{ //花色枚举 enumSuit:String{ caseHeart="红桃", Club="草花", Diamond="方片", Spade="黑桃" } //面值枚举 enumNumber:Int{ caseTwo=2,Three,Four,Five,Six,Seven,Eight,Nine,Ten caseJack,Queen,King,Ace } letsuit:Suit letnum...

Swift中的结构体,类,协议,扩展和闭包的用法以及? 和 !的区别

// MARK: - 1.结构体//1.声明一个结构体struct Rect { // 声明结构体变量的属性(存储属性) var x:Float var y:Float var width:Float var height:Float // 声明结构体属性,要使用static static var description:String? // 声明一个计算属性(是用来专门计算结构体变量属性的setter,和getter方法,其本身没有存储功能) var centerX:Float { // set方法 set { x = newValue ...

swift-导航栏和tabbar(系统自带)

1,在AppDelegate.swift里面(下面这个函数里面写) func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {//定义三个视图   var oneview = Oneview() var twoview = Twoview() var threeview = ThreeView()//导航栏 var threenav : UINavigationController = UINavigationController(rootViewController: threeview) va...

IOS(swift)-数据存储 · NSKeyedArchiver 归档【代码】【图】

需求:有一个通讯列表,可以自行添加联系数据,但是重新开启后,添加的数据都会清空,我希望打开后,上一次的数据能保留。这我们就必须用到数据持久化,这一次,我将用NSKeyedArchiver 归档 方式来做数据持久化,达到再次打开应用后,数据依然存在。通讯录.pngNSKeyedArchiver、NSKeyedUnarchiver ,主要用在ios数据存储上,数据从内存存储到闪存上,这个过程称为归档。Apple官方文档中,这些数据类型包括:NSData、NSString、NSNu...

Swift入坑--Any、AnyObject、AnyClass有什么区别

Any:Any是一个空协议集合的别名,它表示没有实现任何协议,因此它可以是任何类型,包括类实例与结构体实例。Any是一个别名。/// 一个任何类型都遵守的协议类型typealias Any = protocol<>AnyObject:AnyObject是一个成员为空的协议,任何对象都实现了这个协议。看一下AnyObject的定义:@objc protocol AnyObject {}AnyClass:AnyClass是AnyObject.Type的别名而已。看一下AnyClass的定义:typealias AnyClass = AnyObject.Type@objc是...

Objective-C与swift混编【代码】【图】

1.首先创建OBJ-C/ Swift工程2.创建swift/OBJ-C文件,这是Xcode会提示创建Swift和ObJ-C之间的桥接文件,点确认。3.在生产的XXX-Bridging-Header.h中导入需要在swift中使用的文件。4.在Swift文件中就可以使用Swift的语法进行调用示例:Objective-C (abc.h)+(NSString *)strBySwift;Swift中调用abc.strBySwift()***注意***Xcode会自动将OC的方法转换成Swift中的使用方式,方法名一致。OBJ-C中调用Swift的方法1.需要将target-》build Se...

Swift3.0语言教程使用指针创建和初始化字符串

Swift3.0语言教程使用指针创建和初始化字符串Swift3.0语言教程使用指针创建和初始化字符串苹果的Swift团队花了不少功夫来支持C的一些基础特性。C语言中为我们提供了指针,Swift也不例外,开发者可以使用指针去创建和初始化字符串。(1)在NSString中init(bytes:length:encoding:)方法可以从给定字符串按照指定获取方向,得到指定个数的字符,然后使用这些字符创建和初始化字符串。其语法形式如下:convenience init?(bytes: Unsafe...

swift运算符使用_02_swift基本数据类型【代码】

//: Playground - noun: a place where people can play import UIKit//----------运算符的使用---------//1.赋值运算符var a = 0var b = 1//赋值运算符不返回值,不能用作条件判断 swift安全性的体现 b = a//2.算术运算符 let sum = 9 + 4 let min = 9 - 4 let mul = 9 * 4 let div = 9 / 4 let mod = 9 % 4//取余运算符可以用于浮点数 let mod2 = 8.0 % 2.5//自增自减//一元减运算符 let c = 3var minusB = -c//3.复合的赋值运算...

阿里巴巴最新开源项目 - [HandyJSON] 在Swift中优雅地处理JSON【代码】

项目名称:HandyJSON项目地址:https://github.com/alibaba/handyjson背景JSON是移动端开发常用的应用层数据交换协议。最常见的场景便是,客户端向服务端发起网络请求,服务端返回JSON文本,然后客户端解析这个JSON文本,再把对应数据展现到页面上。但在编程的时候,处理JSON是一件麻烦事。在不引入任何轮子的情况下,我们通常需要先把JSON转为Dictionary,然后还要记住每个数据对应的Key,用这个Key在Dictionary中取出对应的Value...

Swift轻松入门——基本语法介绍和详细地Demo讲解(利用WebView打开百度、新浪等网页)【代码】【图】

本文主要分为两个部分,第一部分介绍Swift的基本语法,第二部分讲解一个利用WebView来打开百度、sina等网页的小demo,如果对swift的语法不感兴趣的同学可以直接跳到第二部分来感受下Swift的魅力~(本文的demo源码已上传至github:https://github.com/iOSGeek0829/XSurfing)一、Swift常用语法  Swift是Apple去年推出的一门新的语言,基于C和Objective-C,而没有C的一些兼容约束,它采用了安全的编程模式和添加现代的功能来使得编程...

Swift学习笔记(15)--下标脚本(Subscripts)【代码】

下标脚本可以定义在类(Class)、结构体(structure)和枚举(enumeration)这些目标中,使用中类似数组或者字典的用法 1.定义定义下标脚本使用subscript关键字,语法:subscript(index: Int) -> Int {get {// 返回与入参匹配的Int类型的值}set(newValue) {// 执行赋值操作} }注:newValue的类型必须和下标脚本定义的返回类型相同。与计算型属性相同的是set的入参声明newValue就算不写,在set代码块中依然可以使用默认的newValue这个变...

[Swift系列]002-基础语法【代码】【图】

基础语法就那老几样,很快可以说完【常量、变量】1.变量用 var,系统自动去判断类型,但变量再次赋值需保持数据类型一致 var a=50 相信用过js/java/C#的,对这个var都不陌生 使用 var 变量名:数据类型 = 变量值 这种格式可以指定具体的数据类型,比如要指定float时 var x:Float = 12.5 不这样写,直接var x=12.5,系统默认是double2.常量用 let let pi=3.14 常量也可以使用绝对数据类型来定义: ...

使用Swift代码演示Cocoa框架

通过使用简单的代码学习Cocoa框架,每一个例子都通过代码和StoryBoard实现,并且总结他们的各自特点所有完整代码将会托管到github库,https://github.com/land-pack/xxx-xxx.git 使用TabBarController(代码实现)使用TabBarController(StoryBoard实现) 原文:http://www.cnblogs.com/landpack/p/4693847.html

OC调用Swift

改动main.m文件#import <Foundation/Foundation.h> #import "Root.h"int main(int argc, const char * argv[]) {@autoreleasepool{Root *rt = [[Root alloc] init];[rt desc];}return 0; } OC文件:Root.h #import <Foundation/Foundation.h>//Objective-c 的头文件假设须要引用Swift的类。则能够使用以下这样的方式 @class Person;@interface Root : NSObject-(Person *)returnPerson; -(void)desc;@endRoot.m #import "Root.h"//...

Swift在for循环中报错'++' is not a binary operator【代码】

最近刚开始学swift,遇到了一个非常诡异的问题。是在写for循环的时候出现语法错误。代码如下:for var i = 0; i < 10; i++{println("hello world") }按理说这是Swift里最简单的for循环的使用了。但是编译器还是报了两个错:‘++ is not a binary operator’Operator is not a known binary operator虽然苹果在官方文档里面说,建议通过++i这种方式使用自增运算符,但是依然可以查到相关资料证明,++运算符既是一个前缀运算符(pre...

Swift学习资源

Swift学习资源提示这个文章的格式无法在手机上正确的显示.更新履历6.3增加Session 102增加Session视频可否观看的提示增加Session观看的方式官方Swift介绍页面Swift开发文档<<The Swift Programming Language>>(网站版, iBook版)社区StackOverflow #Swift知乎热帖 #如何评价Swift项目FlappySwift视频视频观看方式: Appstore下载WWDC APPWWDC涉及到Swift的Session日期北京时间内容Session可看否星期二1:00Keynote101√星期二5:30Pla...

Swift 之Protocol在cocoa中的使用范例搜集(一)【代码】

protocol Reusable: class {static var reuseIndentifier: String {get}static var nib: UINib? {get} }extension Reusable {static var reuseIndentifier: String { return String(Self) }static var nib: UINib? { return nil } }extension UITableView {func registerReusableCell<T: UITableViewCell where T: Reusable>(_: T.Type) {if let nib = T.nib {self.registerNib(nib, forCellReuseIdentifier: T.reuseIndentifier)}...

学习Swift -- 构造器(上)【代码】

构造器(上)构造过程是为了使用某个类、结构体或枚举类型的实例而进行的准备过程。这个过程包含了为实例中的每个存储型属性设置初始值和为其执行必要的准备和初始化任务。构造过程是通过定义构造器(Initializers)来实现的,这些构造器可以看做是用来创建特定类型实例的特殊方法。与 Objective-C 中的构造器不同,Swift 的构造器无需返回值,它们的主要任务是保证新实例在第一次使用前完成正确的初始化。类和结构体在实例创建时,必...

Swift在Xcode 6.1 Beta 3中的更新【图】

Swift在Xcode 6.1 Beta 3中的更新(1)在Beta 3中,取消了T!。使用T?或者T表示为空或不为空的情况。(2)如果在方法中,属性或初始化的返回值不是所预期的,这时可以考虑使用可选类型。如以下的代码var fooOpt: NSFoo? = object.reallyMightReturnNil()!if let foo = fooOpt { … }!(3)现在,任何类型的值都可以包含函数的返回值。(4)所有的*LiteralConvertible协议提供了初始化器自定义功能。例如,IntegerLiteralConvertible...

Swift - whose view is not in the window hierarchy 问题解决方法

问题现象:想在页面初始化的时候,使用self.presentViewController方法弹出个告警提示框UIAlertController。但行后报了个如下告警,同时告警框也出不来。12015-03-1009:55:34.197Test[1140:29622] Warning: Attempt to present <UIAlertController: 0x7c95ca20> on <Test.ViewController: 0x7a6afc60> whose view is not in the window hierarchy! 解决办法:原来的调用代码是写在viewDidLoad方法中,这个表示视图加载完毕。我们应...

窥探Swift之基本数据类型【图】

在上一篇博客“窥探Swift编程之在Playground上尽情的玩耍”中介绍了如何使用Playground来学习Swift语言。本篇博客就使用Playground来窥探Swift语言。千里之行始于足下,当然了,除非你是坐的高铁或者飞机。还是那句话从基础开始吧,本篇博客主要介绍一下Swift的基本数据类型。Swift中的数据类型可谓是百花齐放百家争鸣,下面就来窥探一下Swift中的基本数据类型。  一、Swift中的变量和常量1.关键字“let”    常量,顾名思义...

iOS-Swift协议中关联类型的使用

Associated Type :关联类型有时候会遇到这样的需求,继承自某一协议的类中需要保证代理方法处理的参数类型保持一致,这就需要使用关联类型来做到这一点协议声明:protocol ATypeDelegate { associatedtype T func printContent( ct : T) func colum( ct : T)}协议使用:class ATypeClass: ATypeDelegate { typealias T = Int func printContent(ct: Int) { print("Int",#function) } func colum(...

iOS高仿(swift2.2):花田小憩3.0.1【代码】【图】

前言断断续续的已经学习Swift一年多了, 从1.2到现在的2.2, 一直在语法之间徘徊, 学一段时间, 工作一忙, 再捡起来隔段时间又忘了.思来想去, 趁着这两个月加班不是特别多, 就决定用swift仿写一个完整项目.花田小憩:是一个植物美学生活平台, 以自然生活为主导, 提倡植物学生活方法, 倡导美学标准的生活态度的一个APP. 个人文字功底有限, 就我而言, 这款APP做的挺唯美的…github地址github地址 如果对您有些许帮助, 请star ?声明此花田...