![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Swift
文章平均质量分 56
HQ_iOS
QQ:349595945 欢迎骚扰
展开
-
swift 排序方法比较
文章目录冒泡排序快速排序冒泡排序func bubbleSort(arr: inout [Int]) { //两两比较 需要比较 count - 1 次 for i in 0..<arr.count-1 { //以下 for 循环走完后即可将最大值放到最后,此处count-1 后还需要 - i for j in 0..<arr.coun...原创 2019-12-15 23:11:22 · 316 阅读 · 0 评论 -
Swift 4.2字符串截取(subString过期)
1.截取前三个字符 //方法一 let str = "0123456789" let subStr = str.prefix(3) print(subStr)//输出012 //方法二 let str = "0123456789" let endIndex = s...原创 2018-12-26 12:11:34 · 11614 阅读 · 2 评论 -
Swift UITextView限制输入文本字符数
一、预期效果图二、页面布局创建一个label添加到bg图上,布局确定label位置 let textView = UITextView() textView.backgroundColor = ColorThemeShared.EEEEEE textView.keyboardType = .emailAddress ...原创 2018-12-27 14:45:03 · 2149 阅读 · 0 评论 -
Swift 值引用与类型引用
1.值引用值引用传递存储的是复制后的值,它表示将它传递给一个方法的时候,使用的是复制;将它赋值给另一个变量的时候也是如此,修改得到复制的值是,修改的也仅仅是复制的值,原来的值不会发生变化。结构体和枚举数据值类型,基于值类型的特性,当使用方法修改结构体或者枚举内部的属性是,必须在方法前加上关键字“mutating”2.类型引用类型引用传递的是对象的指针,存储在堆中,即使是一个常量指针,也...原创 2019-01-17 14:49:01 · 1533 阅读 · 0 评论 -
Swift 弱引用 (weak )与 无主引用 (unowned )的区别
1.先举一个循环引用的列子class Example { var num = 10 var method:(Int) -> Int = { (i:Int) in return self.num + i } deinit { print("Example被释放了") }}method 是一个闭包类型的参数,在类的定义中被初始化为与类属性 num 进行加法的运算。...原创 2019-01-29 11:53:45 · 2149 阅读 · 0 评论 -
Swift 泛型
1. 节点泛型Swift 中,有参数的函数必须指定参数的类型,现在有几个同名的函数实现相似的功能,但是参数的类型不同,例如:func show(para: Int) { print("Hello \(para)") }func show(para: String) { print("Hello \(para)") }func show(para: Double) { print(...原创 2019-02-28 18:23:16 · 671 阅读 · 0 评论 -
Swift 静态配发和动态配发
1.静态配发静态配发是指在运行时调用方法,不需要查表,直接跳转到方法的代码中执行。2.动态配发需要在运行时找到方法的具体实现的模式叫做动态配发。OC的方法都是动态配发的,也就是我们常说的消息转发。Swift 中的动态配发和OC中的动态配发类似,在运行时程序会根据被调用的方法的名字去内存中的方法表中查表,找到方法的实现并执行。...原创 2019-02-26 11:47:36 · 266 阅读 · 0 评论 -
Swift 内联
1.内联是指在编译期把每一处方法调用替换为直接执行方法内部的代码.这是个很棒的特性,可以帮你避免运行时方法调用的时间开销。下面是内联的一个简单例子:struct Bird { var name = "" func fly() { print("\(name)在飞翔") }}func birdFly(bird: Bird) { bird.fly()}let mq = = Bi...原创 2019-02-27 10:36:13 · 1179 阅读 · 0 评论 -
Swift 静态多态与动态多态
1.静态多态2.动态多态原创 2019-03-24 20:09:29 · 401 阅读 · 0 评论 -
Swift: "XXX-Swift.h" file not found解决
模块名称为My Project,桥接文件名为My_Project-Swift.h,而不是My Project-Swift.h。模块名称为My-Project,桥接文件名为My_Project-Swift.h,而不是My-Project-Swift.h。原创 2019-07-14 11:44:28 · 8342 阅读 · 1 评论 -
Swift 富文本方法封装
1.逾期效果2.富文本方法public func changeFontColor(totalString: String, subString: String, font: UIFont, textColor: UIColor)-> NSMutableAttributedString { let attStr = NSMutableAttributedStrin...原创 2018-12-22 17:55:58 · 1176 阅读 · 0 评论 -
Swift UIButton(按钮)图片在上,文字在下
//MARK: -定义button相对label的位置enum RGButtonImagePosition { case top //图片在上,文字在下,垂直居中对齐 case bottom //图片在下,文字在上,垂直居中对齐 case left //图片在左,文字在右,水平居中对齐 ...原创 2018-11-29 14:59:50 · 6625 阅读 · 0 评论 -
swift for 循环遍历数组与字典
在swift中,最常使用的for循环是for-in结构,并且可以和范围(...和...<)配合使用for i in 0..<5 { print(i)}控制台输出:01234使用for-in循环遍历数组let array = ["宝马", "奔驰", "奥迪", "兰博基尼", "凯迪拉克", "法拉利"]for arr原创 2018-08-25 23:19:59 · 14368 阅读 · 0 评论 -
Swift 数组常用的方法( filter、map、flatMap、reduce、sorted、forEach、contains、indexOf、prefix、suffix、dropFirst等)
一、filter方法:可以过滤数组中不满足筛选条件的元素,返回满足筛选条件的元素所组成的数组。func filter(_ isIncluded: (UInt8) throws -> Bool) rethrows -> [UInt8]filter方法参数是一个闭包,闭包返回值是Bool类型,当满足筛选条件的时闭包才有返回值,filter返回值是一个<T>的泛型数组...原创 2018-09-02 16:06:22 · 7319 阅读 · 1 评论 -
Swift 标签(UILabel)
1.UILabel标签的创建 //创建label let label = UILabel.init(frame: CGRect(x: 100, y: 100, width: 200, height: 30)) //将label添加到view上 self.view .addSubview(label) 2.UIL...原创 2018-09-11 00:03:04 · 3376 阅读 · 0 评论 -
Swift lineBreakMode详解
1.用于多行和多行文本->字符截断类型(lineBreakMode //设置文字过长时的显示格式 )@available(iOS 6.0, *)public enum NSLineBreakMode : Int { case byWordWrapping // Wrap at word boundaries, default case byCharWra...原创 2018-09-11 00:01:18 · 3670 阅读 · 0 评论 -
Swift UIButton(按钮)添加点击事件
override func viewDidLoad() { super.viewDidLoad() //创建按钮 按钮类型为自定义 let button = UIButton.init(type: .custom) //将按钮添加到视图中 view.addSubview(button) but...原创 2018-09-14 08:02:43 · 18946 阅读 · 0 评论 -
iOS 适配全面屏iPhone X系列手机-Swift版
一、如何知道手机是全面屏手机? 网上有好多人使用获取手机型号的方式来判断,本人觉得这种方式没有问题,只是作为一名开发者,大家都知道苹果每年都会更新新的机型。大家肯定不希望在每次苹果发布新机型后去更新版本,目前我有两种判断方式:1.获取状态栏的高度,全面屏手机的状态栏高度为44pt,非全面屏手机的状态栏高度为20ptlet statusBarHeight = UIApp...原创 2018-10-11 18:54:40 · 2539 阅读 · 2 评论 -
Swift 按钮点击图片旋转动画
需求:按钮图片为向下箭头,点击完后,动画过渡为向上动图图片展示@objc func buttonAction(sender: UIButton) { //创建动画 let anim = CABasicAnimation() //一个重要的设置:就是keyPath //旋转动画一定要设置为transform.rotation...原创 2018-11-10 21:57:47 · 2299 阅读 · 0 评论 -
Swift 字符串常用的方法
1.字符串拼接 var a = "1" a.append("2") a += "3" a+"4" print(a) //输出结果:123本人亲测 a+"4"这个方法,打印后输出结果为123,一直不明白是怎么回事,有明白的大神可以给我留言2.字符串大小写转换 let ca...原创 2018-11-14 22:24:56 · 978 阅读 · 3 评论 -
Swift autoclosure关键词
举例说明:实现(||)操作运算 func || (left:Bool, right:Bool)-> Bool { if left { return true }else { return right } }上面这种解法勉强正确,但是并不高效,或(||)操作的本质是当左边为真...原创 2018-08-29 11:40:01 · 195 阅读 · 0 评论