Swift
于海明
缺乏自信,就好像拉着手刹在人生道路上行驶
展开
-
关于Swift的私有化
与Objective-C不同,Swift并没有区分声明的.h文件与实现的.m文件。在OC中如果方法或者变量只在.m文件中出现,或者在.h文件中加上@private便可实现私有化。而Swift中所有的变量和方法默认都是暴露的,在其他的类中也可以访问。当要将一个变量或者方法私有化时,就需要在对应的变量或者方法前面加上 private 修饰符即可。private var str : String转载 2017-06-19 00:33:12 · 1260 阅读 · 0 评论 -
swift 中的标记关键字
1. MARK我们知道,在OC中我们可以使用pragma mark添加一些说明,能够快速定位到相应的代码,例如: #pragma mark -说明文字那么在swift中怎么实现类似的功能呢?其实也很简单,只要在需要添加说明的地方加上如下格式的注释:// MARK: - 说明文字,带分割线// MARK: 说明文字,不带分割线MARK一定要大写,例如:转载 2017-07-21 17:17:47 · 589 阅读 · 0 评论 -
swift UIScrollview 的基本使用
//创建滚动视图 let scrollView = UIScrollView() //设置尺寸 scrollView.frame = CGRectMake(0, 100, self.view.frame.size.width, 200) //设置背景色转载 2017-07-21 10:40:50 · 1479 阅读 · 0 评论 -
获取当前系统语言
OC语言:+ (NSString*)getPreferredLanguage{ NSUserDefaults* defs = [NSUserDefaults standardUserDefaults]; NSArray* languages = [defs objectForKey:@"AppleLanguages"]; NSString*转载 2017-07-07 11:04:04 · 2361 阅读 · 0 评论 -
swift 影响Xcode编译速度的注意事项
、、、、、首先尝试次方发,看起来很有效背景随着 Xcode8 和 swift3.0 的正式到来,我开始着手将 swift2.3 的项目转到 swift3 (至于转换过程,这里不多做介绍,Xcode自带的转换工具,基本可以转换80%左右,剩下的自己慢慢调试即可。)但是,转到swift3只会,在用Xcode8编译,发现编译过程变得非常慢,哪怕打一个空格,都要重新编译很久。于是在网上转载 2017-06-28 11:01:50 · 4227 阅读 · 0 评论 -
Swift3.0 监控键盘的弹出与收回
1.注册/移除通知 override func viewDidLoad() { super.viewDidLoad() NotificationCenter.default.addObserver(self, selector: #selector(keyBoardWillShow(_:)), name: NSNotification.Name.UIKeybo转载 2017-06-27 19:19:32 · 512 阅读 · 0 评论 -
swift实现ios类似微信输入框跟随键盘弹出的效果
封面(图文无关)为什么要做这个效果在聊天app,例如微信中,你会注意到一个效果,就是在你点击输入框时输入框会跟随键盘一起向上弹出,当你点击其他地方时,输入框又会跟随键盘一起向下收回,二者完全无缝连接,那么这是怎么实现的呢,也许你会说直接在键盘弹出的时候把输入框也向上移动不就行了?但是我使用这种方法的时候,发现效果十分不理想,会有明显的滞后现象,原因有以下几点:1.键盘弹转载 2017-06-27 19:18:33 · 1324 阅读 · 0 评论 -
ios开发之Swift获取视频截图(本地视频、网络视频的缩略图)
有时我们需要在界面上显示视频的缩略图,这样用户不用点开也能大概了解到视频的内容。下面分别演示如何获取本地视频,以及网络在线视频的视频截图。样例的效果图如下,将获取到的截图(视频开始部分)显示在 imageView 中。1,获取本地视频截图import UIKitimport AVFoundationimport MobileCoreServices转载 2017-06-27 15:35:42 · 3223 阅读 · 0 评论 -
用cocoa pods 时指定下载的库的 版本
首先在 Podfile的最下面添加如下代码,为所有 lib指定 Swift 版本post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.bu转载 2017-07-05 15:03:29 · 1217 阅读 · 0 评论 -
swift 中下划线
一、下划线在Objective-C中,下划线(_) 并没有太大作用,一般用来定义变量名称,比如成员变量的定义 int _age; 但在Swift中,它却有非常大的功效。1. 只作为标记[objc] view plain copyvar money = 1_000_000 变量money依旧代表的是数字1000000, 但转载 2017-06-30 14:37:25 · 2974 阅读 · 0 评论 -
Swift中strunt 和 public 的做用
1、默认的继承访问权限。struct是public的,class是private的。比如如下的代码: struct A { char a; }; struct B : A { char b; }; 这个时候B是public继承A的。如果都将上面的struct改成class,那么B是private继承A的。这就是默认的继承访问权限。所以在平时写类继转载 2017-06-20 19:50:04 · 888 阅读 · 0 评论 -
Swift 中的关键字2
1.let关键字用let修饰的变量会是一个不可变的常量, 也就是说不可以对它进行修改, 但如果用let修饰的常量是一个类, 那么我们可以对其所在的属性进行修改, 比如:class PersonInfo { let name = "xiaoming" var age = 18 var height = 170 var weight = 65}let转载 2017-06-20 19:36:20 · 536 阅读 · 0 评论 -
swift中常用关键字
swift中常用关键字用作声明的关键字: class、deinit、enum、extension、func、import、init、let、protocol、static、struct、subscript、typealias、var用作语句的关键字break、case、continue、default、do、else、fallthrough、if、in、fo转载 2017-06-20 19:33:26 · 2547 阅读 · 0 评论 -
Swift版本报错
最近Xcode升级了,出现了各种蛋疼的错误提示,今天遇到个导入框架出现了提示Swift版本的问题,具体如下:“Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Conver转载 2017-06-20 03:17:53 · 1416 阅读 · 0 评论 -
Swift中的typealias(别名)的用法
首先来说说什么是typealiastypealias是用来为已经存在的类型重新定义名字的,通过命名,可以使代码变得更加清晰.使用的语法也很简单,使用 typealias 关键字像普通的赋值语句一样,可以将某个在已经存在的类型赋值为新的名字.下面用一段代码来更好地解释typealias*计算二维平面上的距离和位置的时候,用 Double 来表示距离,用 CGPoint 来表示位置转载 2017-06-19 18:40:22 · 1066 阅读 · 0 评论 -
swift public、internal和private 关键字
Swift提供了3种不同访问级别,对应的访问修饰符为:public、internal和private。这些访问修饰符可以修饰类、结构体、枚举等面向对象的类型,还可以修饰变量、常量、下标、元组、函数、属性等内容。提示 为了便于描述,我们把类、结构体、枚举、变量、常量、下标、元组、函数、属性等内容统一称为“实体”。public。可以访问自己模块中的任何public实体。转载 2017-06-19 18:26:59 · 6004 阅读 · 0 评论 -
Swift - final关键字的介绍,以及使用场景
Swift - final关键字的介绍,以及使用场景final关键字在大多数的编程语言中都存在,表示不允许对其修饰的内容进行继承或者重新操作。Swift中,final关键字可以在class、func和var前修饰。通常大家都认为使用final可以更好地对代码进行版本控制,发挥更佳的性能,同时使代码更安全。下面对这些说法做个总结。1,想通过使用final提升程转载 2017-06-19 14:32:55 · 375 阅读 · 0 评论 -
WKWebView 的使用
WKWebView是 在iOS 8后推出要替代UIWebView。相对于成熟的UIWebView来讲,这个后生仔在使用上还是有点点小坑的~使用在初始化上,WKWebView 和 UIWebView 没有多大的差异。// WKWebViewlet wkWeb = WKWebView(frame: view.bounds)// 一些代理wkWeb.navigation转载 2017-08-31 18:13:03 · 989 阅读 · 0 评论