
Swift语言基础学习到开发
文章平均质量分 92
从简单的学习到项目开发,将OC与Swift有机的结合起来
hbblzjy
之前总是看别人的技术和博客,现在也想把自己喜欢的技术内容,技术博客,相关信息分享给大家,希望共同学习,有相关问题的可以发邮件78841151@qq.com,欢迎各界技术男指导学习!
展开
-
Swift基础之iOS 10.3 如何更换 app 图标
iOS 10.3 开放了更换 app 图标的 API,核心方法是下面这个:func setAlternateIconName(_ alternateIconName: String?, completionHandler: ((Error?) -> Void)? = nil)这是官方文档,但是你还需要在 info.plist 里面填一些东西才能让它起作用,这部分官方注释内容在这里。但 in原创 2017-09-15 14:24:58 · 1677 阅读 · 0 评论 -
Swift基础之封装一个WebViewController
研究了一段时间,总算搞定了这个功能封装,现在给大家分享一下,具体看代码,上面有对应的文字描述,有问题请留言,下载源码,请帮忙点一下star,给点继续分享的动力,谢谢~/** //swift中的get方法,可以直接varget或letget显示提示,如果使用的是get方法创建视图,调用添加到父类上的时候,要self._参数,如self._wkWebV,如此就可以看出来这个get方法的名称可原创 2017-08-09 17:36:46 · 1804 阅读 · 0 评论 -
Swift基础之封装蒙版指导视图
相信大家都见到过,一个软件添加了新功能,会给用户使用步骤指导,所以我针对这个功能,便于使用的小demo,希望对大家有帮助。源码中的注释比较详细,这里不再赘述,自行研究:var imageName:String = String()//图片名称 var imageCount:Int = Int()//图片数量 //创建一个类方法,初始化 //注意:OC方法中inst原创 2017-08-02 17:57:34 · 2185 阅读 · 0 评论 -
Swift基础之封装ActionSheet控件
前端时间封装了OC版本http://blog.youkuaiyun.com/hbblzjy/article/details/75127359,今天把写好的Swift版本共享出来,希望对大家有用;源码下载请点击Star,star是继续写的动力,谢谢~自定义ActionSheet的关键点,就是UI的样式修改和设计调整,还有就是点击单元格时进行的后续操作,再一个就是界面显示的平滑度。首先界面设计:创建一个半透明的背原创 2017-07-21 17:18:09 · 1230 阅读 · 0 评论 -
Swift基础之实现时间线列表效果(例如订单详情页面的效果)
之前看到美团的订单详情页面很有特色,于是决定模仿一下这个效果。其实就是简单的 TableView 技巧,下面我们就来一步一步实现它。设计 TableViewCell 原型子类化一个新的 UITableViewCell + Xib,简单拖拽几个控件。我这里那两条线就没用 AutoLayout 了,太小了,回来直接用代码布局就行了。拖线连几个 Outlet ,然后把气泡背景原创 2016-06-28 11:49:18 · 3595 阅读 · 3 评论 -
Swift3.0基础之详细讲解Closure闭包结构的使用
源码Demo写的很详细,这里不再赘述,如下://创建一个全局的Closure,这是最后应该看的知识点 //方式一:定义一个闭包变量其实就是定义一个特定函数类型的变量,方式如下。因为Closure变量没有赋初始值,所以我们把其声明为可选类型的变量。在使用时,用!强制打开即可。 var globalCloure1:((Int, Int) -> Int)? //方式二:原创 2017-07-21 10:59:10 · 908 阅读 · 0 评论 -
Swift基础之NSDataDetector数据检查器(类似于正则表达式的作用)
在iOS开发中,有一个简单的对于寻找数据的解决方案:NSDataDetector。NSDataDetector是继承NSRegularExpression(iOS中的正则表达式)的一个子类,你可以把它看作一个正则表达式匹配器和令人难以置信的复杂的表达式,可以从自然语言(虽然可能更复杂)中提取你想要的信息。主要用于检测半结构化的数据:日期,地址,电话号码,正则表达式等等。OC使用://检测是否是有链原创 2017-07-13 11:37:34 · 1338 阅读 · 2 评论 -
Swift基础之属于“Sum”类型的Enum结构
Enum结构大家应该都用到过,让我们一起来简单的看看Swift中的使用。代数类型并不是专指某种类型,而是对原有类型的一种思考方式。Sum 类型是代数类型的一种,合理的使用 Sum 类型,能让代码的可读性大大提高。Sum 类型Swift 中的 Enum 就是典型的 Sum 类型,举个例子:enum SumExample { case a(Bool) case b(Bool)}我们可以列举原创 2017-07-11 16:40:24 · 833 阅读 · 0 评论 -
Swift基础之Literal的简单使用
自2012年以来,可以使用 “literal” 表达式初始化NSDictionary,NSArray,NSNumber或NSString。NSNumber *numb = @1;NSArray *things = @[@3,@45,@65];NSDictionary *map = @{@"Florida" : @1 , @"Nevada" : @6 };NSString *greet = @原创 2017-07-07 15:49:46 · 1673 阅读 · 0 评论 -
Swift基础之Encoding 和 Decoding
Swift 4给我们带来了 Codable 协议,让对象转 JSON Data 变得如此的简单有许多不同的场景,您希望将您的 Class 换为数据。 一个非常常见的需求是 HTTP POST 请求的时候 JSON 数据作为 HTTP Body。 最常见的方法之一如下所示:JSONSerialization class 负责返回 Data 对象,从而作为 HTTP 的请求体。JSONEncoder原创 2017-07-07 15:39:15 · 1444 阅读 · 0 评论 -
Swift基础之从强制解包看 Swift 的设计
不知道大家有没有发现,在一个 Objective-C 和 Swift 混编的 App 中,当把一个 OC 中的参数转到 Swift 时,Swift 会自动把这个变量进行强制解包。举个例子,我在 OC 中定义这样一个变量:@property (nonatomic, copy) NSString *foo;它转成 Swift 就变成了这样:var foo: String!这样看上去合情合理。Swift转载 2017-07-04 15:54:45 · 1579 阅读 · 0 评论 -
Swift基础之仿资讯类实现频道的长按拖拽/删除/增加
导读简单用Swift写了一个collectionview的拖拽点击排序效果;拖拽排序是新闻类的App可以说是必有的交互设计,如今日头条,网易新闻等。源码地址:http://download.youkuaiyun.com/detail/hbblzjy/9804935效果效果主要代码手势长按移动 1.给CollectionViewCell添加一个长按手势.private lazy var collectionVi原创 2017-04-06 11:14:11 · 1527 阅读 · 0 评论 -
Swift基础之实现选择图片时,出现类似于ActionSheet的样式
之前看到过有APP在选择图片时,调用手机相册时,将手机相册做成了左右滑动选择的效果,这次展示的就是这种样式,用OC语言已经有人实现过类似的代码,在这里写的仅仅是效果展示的代码调用,具体代码,可以自己研究一下。不喜勿喷~代码如下:func headBtnClick(btn:UIButton) { //创建授权状态 let authorization = P原创 2017-01-12 17:32:02 · 1186 阅读 · 0 评论 -
Swift基础之如何使用iOS 9的Core Spotlight框架
本文由CocoaChina译者KingOfOnePiece(博客)翻译作者:GABRIEL THEODOROPOULOS?校对:hyhSuper原文:How To Use Core Spotlight Framework in iOS 9iOS每一次版本的更新,都会给全球的开发工作者带来新的“知识点”和对现有技术进行的改进。显然,iOS的最新版本iOS 9不仅延续了这一传统,还公布了新的框架和AP翻译 2017-01-08 17:17:25 · 1500 阅读 · 0 评论 -
Swift基础之CoreData的使用
以前使用过OC版本的CoreData应该很好理解Swift方式,所以这里简单的展示一下,增删改查的方法使用,同时给大家说一下创建步骤,方便大家的使用,转载请注明出处,谢谢~步骤一:创建一个Swift的新项目,记得勾选对应的配置项,如图:步骤二:打开****.xcdatamodeld文件,点击Add Entity,添加一个实体类,可以自己重定义类名,然后在类中添加属性,如图:步骤三:打开AppDel原创 2017-01-08 11:30:33 · 1588 阅读 · 0 评论 -
Swift基础之侧滑Cell显示操作按钮
好久没写过博客了,今天展示一个UITableView基础的内容侧滑Cell的方法使用,之前写过OC语言的http://blog.youkuaiyun.com/hbblzjy/article/details/51781766,也可以看一看这个Demo有用到结构体添加数据内容,还有警告框,代码比较简单,不做讲解,自行研究var myTableView = UITableView() var dataArra原创 2016-12-30 15:01:07 · 1571 阅读 · 0 评论 -
Swift基础之UIPickerView和小animate的使用
写一个简单的UIPickerView的使用Demo,比较简单,其中和一个小动画的结合使用UIPickerView的使用基本上跟OC语言中的一样,就是写法的样式问题,想必开发过OC的应该不需要多讲了,所以只是把代码展示一下,可以自行下载源码学习://MARK:--------------按钮点击事件 func goBtnClick(btn:UIButton) {原创 2016-12-23 16:11:22 · 1201 阅读 · 0 评论 -
Swift基础之两指拉动图片变大变小
我们在使用APP的时候,有时会发现有些图片可以通过两指进行放大、缩小,今天就实现这样的一种效果,比较简单,不喜勿喷。。。。var imageVi:UIImageView! = nil var myScrollV:UIScrollView! = nil override func viewDidLoad() { super.viewDidLoad()原创 2016-12-19 10:49:05 · 1583 阅读 · 0 评论 -
Swift基础之音乐播放随机变换着色板
今天的内容比较简单,我也就不做详细的文字介绍了,直接上代码,希望对大家有所帮助var audioPlayer = AVAudioPlayer() //梯度配色 let gradientLayer = CAGradientLayer() var timer:Timer? override func viewDidLoad() { super.viewDi原创 2016-12-16 10:53:56 · 822 阅读 · 0 评论 -
Swift基础之自定义PUSH和POP跳转动画
之前用OC代码写过PUSH和POP的转场动画,闲来无事,将其转换成Swift语言,希望对大家有帮助,转载请注明。。。。如何实现PUSH和POP的转场动画?首先,创建一个NSObject的类,分别用来实现PUSH和POP的动画效果创建PUSH文件,实现扇形效果,代码如下:需要注意的是,代理的实现方法要完整var transitionContextT:UIViewControllerContextTr原创 2016-12-09 11:21:03 · 3130 阅读 · 0 评论 -
Swift基础之两种选择星星的评价样式并获取星星的索引值
想练练手,所以封装了一个两种选择星星的评价样式的Demo,并且可以获取到点击的星星的索引值,方便记录值,上传数据时使用首先创建View类,设计初始化方法,并且用到了枚举类型和代理方法方式一:默认的有文字的5颗星评价的样式case .TextType://有文字样式 //计算每个星星的大小宽、高 let itemWidthF:CGF原创 2016-12-07 16:00:05 · 1061 阅读 · 0 评论 -
Swift Review总结:从 Swift Style 开始
每个语言都有自己的推荐风格。显然OC与Swift有着不同的风格。当我们开始写Swift,首先要注意的就是按照Swift的风格写,而不是沿用OC的风格。省略句末的分号swift推崇简洁的语法。如果一行里只有一句代码,句末不要写分号。省略self.不在闭包里的时候调用自身的属性或者方式时省略self.。这点社区也产生过讨论,有人建议需要强制的声明self.,但是苹果大声的拒绝了。所以让代码更简洁一点吧转载 2016-12-02 18:07:00 · 653 阅读 · 0 评论 -
Swift基础之使用Alamofire库进行网络请求和断点下载
好久没有写过Swift相关的文章博客了,这里我就展示一下关于使用Alamofire库的方法1、什么是Alamofire(1)Alamofire 的前身是 AFNetworking。AFNetworking 是 iOS 和 OS X 上很受欢迎的第三方HTTP网络基础库。(2)其实 AFNetwork 的前缀 AF 便是 Alamofire 的缩写。(3)Swift发布后,AFNetworking的原创 2016-11-29 15:34:15 · 3994 阅读 · 2 评论 -
Swift基础之Demo包含刷新,加载,网络请求,MVC
Swift中有一个Alamofire第三方是进行网络请求的,它是AFNetworking的作者写的Swift形式,今天先介绍一下,利用pod导入AFNetworking,SVProgressHUD,MJRefresh等第三方实现刷新数据、加载更多、网络请求,同时使用了MVC的模式进行界面搭建,随后研究Alamofire实现网络请求的功能,再分享给大家。。。。本文有两个界面,首界面直接使用的AFNe原创 2016-11-16 18:22:38 · 2187 阅读 · 6 评论 -
Swift基础之守卫语句guard
本篇文章翻译自:http://ericcerney.com/swift-guard-statement/原作者:ecerney该语法为swift2.0之后添加的新特性最开始在Apple的Platform State of the Union看见swift的guard语句的时候,我当时不太理解以后会有什么理由能用到它。这个语句的介绍如下:与if语句相同的是,guard也是基于一个表达式的布尔值去判断翻译 2016-11-11 17:40:45 · 1280 阅读 · 0 评论 -
Swift基础之init方法,实例(对象)方法,类(静态)方法的使用(多标签Demo)
Xcode更新过后,有些方法都进行了改变,Demo中有变化的都进行了简单的标记,具体以后遇见再说创建一个UIView类,用init方法创建两种类型,显示多标签,创建静态方法进行调用,创建类方法进行调用首先代码:用init方法创建两种类型,显示多标签//初始化数组中是NSString类型的标签视图 init(frame: CGRect,textArray aArray:NSArray,text原创 2016-10-27 15:58:08 · 2149 阅读 · 0 评论 -
Swift基础之对FMDB第三方的使用方法
相信大家都熟悉OC使用FMDB第三方库,进行数据库操作,增、删、改、查,现在我就来利用代码展示一下Swift对此库的使用方法,我是通过Pods添加的第三方库,如果手动添加记得创建桥接文件,在文件中调用头文件。如果不会的可以看我以前的文章里有介绍Swift调用OC文件代码http://blog.youkuaiyun.com/hbblzjy/article/details/52252630效果图:如果不知道FMD原创 2016-10-21 16:10:10 · 2205 阅读 · 2 评论 -
Swift基础之设计折线坐标图
最近添加了折线视图的样式,所以在这里用Swift语言重新再使用设计一下首先设置纵坐标的数值是:体重//体重 let weightLabel = UILabel.init(frame: CGRectMake(0, 10, 60, 30)); weightLabel.text = "体重(kg)"; weightLabel.textColor = UIColo原创 2016-10-17 14:40:14 · 2058 阅读 · 0 评论 -
Swift基础之Animation动画研究
最近研究了一下,Swift语言中关于Animation动画的实现学习,分两次进行相关内容的讲解用表格列出各种动画情况Demo首页显示展示了一种动画显示方式,代码如下://绘画装饰 func drawDecorate(){ //画出小圆 let smallCenterPoint = CGPointMake(50, 50); let smallRadi原创 2016-10-08 17:39:48 · 2298 阅读 · 0 评论 -
Swift基础之集成单选按钮横竖两种样式
最近马上放假所以比较忙,今天简单写一个项目中出现的单选按钮的横竖样式,PS:封装的是Swift语言样式首先创建一个UIView的类,然后创建方法,最后调用类中的方法进行显示//参数一:需要显示的内容数据,参数二:类型:1、横;2、竖 func hSingleSelBtn(titleArray:NSArray, typeE aTypeE:Int) { let fr原创 2016-09-30 15:33:32 · 3560 阅读 · 0 评论 -
Swift基础之显示波纹样式
最近项目用到了蓝牙连接,搜索设备的内容,其中需要搜索过程中出现波纹的动画效果,在这里将项目中OC语言编写的这种动画效果,转换成Swift编写,下面简单介绍说明一下代码。这里用到了两种方法实现波纹效果,一种是波纹持续显示,一种是点击以后出现一次波纹的效果首先是第一种,持续显示波纹这个内容是重写绘图方法,override func drawRect(rect: CGRect){ }首先需要设置显示波纹原创 2016-09-15 22:16:59 · 1565 阅读 · 0 评论 -
Swift基础之:新的访问控制fileprivate和open
(转载的,暂时没有研究过这类语句,有空看看)在swift 3中新增加了两种访问控制权限 fileprivate和 open。下面将对这两种新增访问控制做详细介绍。fileprivate在原有的swift中的 private其实并不是真正的私有,如果一个变量定义为private,在同一个文件中的其他类依然是可以访问到的。这个场景在使用extension的时候很明显。class User {转载 2016-09-12 10:28:31 · 1461 阅读 · 0 评论 -
Swift基础之实现一个镂空图片的小Demo
前两天看了别人的文章,涉及到了镂空的展示,所以我在这里把实现的内容写成Swift语言的小Demo,供大家欣赏首先,需要创建导航视图,然后创建两种展示方式的按钮let vc = ViewController(); let nav = UINavigationController.init(rootViewController: vc); window?.rootViewC原创 2016-09-06 11:10:40 · 1586 阅读 · 0 评论 -
Swift基础之闭包Closure学习
首先Swift语言中没有了Block内容,但是你可以通过调用OC文件使用,也可以使用Closure(闭包),实现Block或者Delegae同样反向传值或回调函数的效果,也可以解决函数指针的问题,两者有点类似,具体的使用方式,还需要大家进一步去研究,这里我只是简单实现一下闭包的效果,这个东西不太好理解,如果对Blocks比较熟的话,应该没问题1.首先创建一个Swift项目,然后创建一个数组let原创 2016-09-02 15:05:40 · 956 阅读 · 0 评论 -
[译]百里挑一:21个优质Swift开源App
Mybridge AI 根据代码质量和start排名从900多个开源项目中选出21个开源项目。1:Firefox iOS[Official] Firefox iOS app built in Swift (Github Stars: 5,906).2:WordPress for iOS[Official] WordPress for iOS written in Swift (Github Sta翻译 2016-08-31 09:37:22 · 1358 阅读 · 0 评论 -
Swift基础之OC文件调用Swift代码(在上次的基础上写的)
前两天刚写过Swift调用OC,今天在原来的基础上,实现OC调用Swift。首先,创建一个OneSwiftFile.swift文件,创建一个继承于NSObject的类(这个地方你可以自己选择继承的父类)然后在类中创建几个方法,方便在OC文件中使用class OneSwiftFile:NSObject{ override init() { NSLog("这是在init方法中。。。原创 2016-08-23 10:41:27 · 964 阅读 · 0 评论 -
Swift基础之实现下拉变大和OC下拉变大上拉缩小Demo
Swift语言实现下拉变大效果:(上拉缩小效果随后研究......)关键代码:方法一:self.automaticallyAdjustsScrollViewInsets = false; tableViewW = UITableView.init(frame: CGRectMake(0, 0, screenWidth(), screenHeight()), style原创 2016-08-18 15:24:10 · 1558 阅读 · 2 评论 -
Swift基础之Swift调用OC语言文件使用步骤
Swift语言中,有很多封装类并没有,如果需要使用到,就需要桥接OC语言中的类,这时候就需要使用桥接头文件,一下是使用的步骤:创建一个Swift项目Demo,然后新建一个OC语言的文件如图:创建一个BgImgView的类,选择对应的Object-C语言,点击Next按钮会弹出提示框,询问是否需要配置一个桥接头文件,点击创建按钮(第三个)这个时候会自动生成一个桥接头文件现在开始在OC文件中添加需要使原创 2016-08-19 17:27:58 · 1949 阅读 · 0 评论 -
Swift基础之Delegate方法的使用
本文简单介绍了使用Delegate方法的进行值的传递,改变上一个界面的字体大小和颜色首先创建一个导航视图:let viewC = ViewController(); let navigationC = UINavigationController.init(rootViewController: viewC); window?.rootViewController =原创 2016-08-08 11:37:27 · 2629 阅读 · 0 评论 -
Swift基础之PickerView(时间)选择器
代码讲解:(后面有额外代码讲解)首页设计UIPickerView的样式设计:leftArray = ["花朵","颜色","形状"]; let array1 = ["茉莉","玫瑰","郁金香","紫罗兰"]; let array2 = ["红色","黄色","黑色","白色","紫色"]; let array3原创 2016-08-02 11:01:55 · 10572 阅读 · 1 评论