swift 初见-4运算符与字符串操作
// Playground - noun: a place where people can play import UIKit //import Foundation var str = "Hello, playground" //swift 新运算符 Nil Coalescing Operator (nil聚合运算符) 二元运算符 它是为可选型数据来设计的,通常用在解包的过程中 // »
// Playground - noun: a place where people can play import UIKit //import Foundation var str = "Hello, playground" //swift 新运算符 Nil Coalescing Operator (nil聚合运算符) 二元运算符 它是为可选型数据来设计的,通常用在解包的过程中 // »
p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatures: no-common-ligatures } span.s2 { font: 11px "PingFang SC"; font-variant-ligatures: no-common-ligatures } »
在项目开发中经常需要用到倒计时的功能,比如注册部分获取验证码时,这里通过extension(UIButton)的方式来实现倒计时的功能 直接上代码 var codeTimer = DispatchSource.makeTimerSource(queue:DispatchQueue.global()) extension UIButton { //倒计时启动 func cou »
//定义一个协议 protocol LogManagerDelegate { func writeLog() } //用户登录类 class UserController { var delegate : LogManagerDelegate? func login() { //查看是否有委托,然后调用它 delegate?. »
用swift的朋友们很多都是从ios8开发了, 其中针对table cell高度自动计算的 UITableViewAutomaticDimension 异常好用,但好像只对uilabel对象有效 当cell中内容比较复杂,比如涉及图文混排或加上其他动态高度的元素,自动高度就失效了 而swift的自动高度资料很少,就整了一个出来 首先是这个extension可以计算出string内容的高度 e »
亲爱的同学们好,今天我们要介绍这么一个东西。相信有过解释型语言(PHP,Ruby,等)使用经验的同学会更加熟悉,就是 Swift 也为我们提供了命令行运行工具,俗称 REPL。好了,我们进入正题,在安装好 Swift 开发环境的机器上,打开命令行,输入 swift 命令,就进入了 swift 命令行运行模式: Welcome to Swift version 1.1 (swift-600.0.2 »
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/stren »
// GCD详解 // 目录: // 1. 创建GCD队列(最常用) // 2. 自定义创建队列 // 3. 使用多线程实现延迟加载 // 4. 使用多线程实现重复(循环) // 5. 使用多线程来控制 多任务数据加载 和 UI 的显示的先后顺序 // 6. 暂停队列 // 7. 恢复队列 // import UIKit class ViewController: UIV »
中缀语法是OC里特有的一种,就是在函数的参数前面加一个解释词,让调用的时候明白该参数的含义 比如: -(void)processDataWithparamaA:(NSString *)paramaA paramaB:(NSString *)paramaB{ } 调用的时候: [self processDataWithparamaA:@"A" paramaB:@"B"]; 不过你发现 »
Swift3.0语言教程获取字符串编码与哈希地址 Swift3.0语言教程获取字符串编码与哈希地址,以下将讲解字符串中其它内容的获取方法。 1.获取字符串编码 在NSString中可以使用2个属性获取字符串编码,分别为availableStringEncodings属性和defaultCStringEncoding属性。 (1)availableStringEncodings属性可以用来获取NSS »
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。 »
2018年03月01日 19:17:42 https://blog.csdn.net/sinat_21886795/article/details/79416068 今天介绍一个IOS的轮播控件FSPagerView。 FSPagerView是一个优雅的轮播控件,它可以十分轻松有效地制作轮播视图、产品展示、欢迎/指南页面。 先上地址——Swift: https://github.com/Wenc »
1 使用is和as操作符判断和转换数组中的对象类型 1.1 问题 类型转换可以判断实例的类型,也可以将实例看做是其父类或者子类的实例。在Swift中使用is和as操作符实现类型转换。 本案例定义一个媒体类MediaItem,它有两个子类Movie和Song,创建一个存放Movie实例和Song实例的媒体数组library,使用is和as操作符判断和转化library数组中的实例类型。 1.2 »
var testArray = [AnyObject]()//用var声明 一个可变的数组,let声明的为不可变数组,注意AnyObject说明这个数组可以放任何元素。 testArray.append(1)//加入一个数字1 testArray.append(true)//加入一个Bool var aLabel:UILabel = UILabel() v »
获取文件的Md5值的方法如下 func md5File(url: URL) -> String? { let bufferSize = 1024 * 1024 do { //打开文件 let file = try FileHandle(forReadingFrom: url) »
本篇分为两部分: 一、Playground的延时运行 二、Playground的可视化 一、Playground的延时运行 Playground 就是提供一个可以即时编译的类似 REPL 的环境,他为我们提供了一个顺序执行的环境,在每次更改其中代码后整个文件都会被重新编译,并清空原来的状态并运行。 NSTimer 在默认的 Playground 中是不会执行的: class T »
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。 »
组合框(NSComBox)是一种下拉选择视图控件,可以通过addItem单个或批量添加文本条目,也可以使用数据源和代理的形式管理每个条目 1.通过属性面板的Items配置 2.通过动态接口加载数据 3.使用数据源方式加载数据 属性说明 Items: 可以输入条目作为显示的列表内容 VisibleItems:最多显示多少条目在界面上,超出的条目可以通过滚动来选择 UsesDataSource: »
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。 »
使用MessageUI.framework框架可以实现短信发送功能,步骤如下: (1)首先判断设备是否有发送短信功能 (2)如果设备允许发送短信,创建一个MFMessageComposeViewController视图控制器,并对其设置短信内容和收件人号码列表。 (3)短信发送后,会执行回调代理方法,可以获取发送结果(成功,失败或取消) 代码如下: import UIKit import Mes »