swift
_chirs
解决问题的第一步就是承认问题的存在
展开
-
IOS 常见知识点总结 一
1.iOS 开发中数据持久性有哪几种?NSUserDefaults 通过key - vaule 的方式存储 多用于用户信息存储 往往自己封装一层使用(存量小) 文件保存 (图片 、视频、文档),也可以新建 text 记录数据 plist 、 json 甚至html 、css 写入 读取 数据库 SQLite 、FMDB(基于sqlite 封装)、Realm(并不是对SQLite或者CoreData的简单封装, 是由核心数据引擎C++打造,是拥有独立的数据库存储引擎,可以方便、高效的完成数据库的..原创 2020-05-19 11:39:17 · 223 阅读 · 0 评论 -
swift 5.0 字符串md5加密
func md5() -> String { let str = self.cString(using: String.Encoding.utf8) let strLen = CUnsignedInt(self.lengthOfBytes(using: String.Encoding.utf8)) let digestLen = Int(C...原创 2019-12-05 19:19:29 · 1116 阅读 · 0 评论 -
iOS开发中,info.plist配置用户隐私配置说明
iOS10Privacy - Bluetooth Peripheral Usage Description --> App需要您的同意,才能访问蓝牙Privacy - Calendars Usage Description --> App需要您的同意,才能访问日历Privacy - Camera Usage Description --> App需要您的同意,才能访问相机...原创 2019-06-25 19:48:05 · 362 阅读 · 0 评论 -
RxSwift-Observable.combinelatest 理解与使用
先来看下官方给出的解释案例http://reactivex.io/documentation/operators.htmlcombineLatest由多个可观测的值组成,并且当其中一个可观测的值发出数据时,combineLatest将其组合起来,并订阅到结果。 @IBOutlet weak var number1: UITextField! @IBOutlet we...原创 2019-08-06 09:04:17 · 1996 阅读 · 0 评论 -
响应式编程 什么是响应式编程
那么什么是响应式编程,来看个简单的例子:var i = 1,j = 2,k = i + j;print("k = \(k)") // k= 3i = 3j = 4print("k = \(k)") // k= 3在这里把i,j,k当成某个状态,k是j,i两个状态的组合,正常的编程中,在计算了k的状态之后,再去改变j,i的状态是不会影响到c的状态的。所以在正常编程中我们要去...原创 2019-08-06 19:17:52 · 432 阅读 · 0 评论 -
NSMutableAttributedString 属性总结
字体:NSFontAttributeName 该属性所对应的值是一个 UIFont 对象。该属性用于改变一段文本的字体。如果不指定该属性,则默认为12-point Helvetica(Neue)。 段落格式:NSParagraphStyleAttributeName 该属性所对应的值是一个 NSParagraphStyle 对象。该属性在一段文本上...原创 2019-08-09 16:16:08 · 2027 阅读 · 0 评论 -
swift 富文本
无原创 2019-09-06 10:29:06 · 589 阅读 · 0 评论 -
FSPagerView 自定义 Cell 的使用
源码地址:https://github.com/WenchaoD/FSPagerView由于将 Collection Cell 的类型固定了,我们再使用自定义的cell时会编译无法通过。不知道以后原作者会不会加入自定义的.这里有几种兼容的方式一.找到FSPagerView.swift 文件将FSPagerViewCell 改成 CollectionCell 即可二.拓展 ...原创 2019-09-10 17:34:02 · 1332 阅读 · 0 评论 -
swift WKWebView 实现 URLProtocol 网络拦截 修改 Referer添加
在我们的日常开发过程中有时需要我们对网络做拦截操作,诸如对request 的header 做修改 添加等。对于有效的url(http 或者 https) 只需要对request 做添加头文件即可//这里是对资源加入的防盗链 var request = URLRequest(url:url as URL); request.setValue(kReferer, forHTTPHead...原创 2019-09-20 14:27:14 · 3479 阅读 · 0 评论 -
使用WKWebURLSchemeHandler
使用WKWebURLSchemeHandleriOS11以上,苹果为WKWebView增加了WKURLSchemeHandler协议,可以为自定义的Scheme增加遵循WKURLSchemeHandler协议的处理。其中可以在start和stop的时机增加自己的处理。遵循协议中的两个方法funcwebView(_webView:WKWebView,starturlSchem...原创 2019-09-20 14:44:56 · 5083 阅读 · 1 评论 -
基于RXSwift 下 页面跳转进行解耦 非ViewController类实现页面跳转优化 二
基于RXSwift 下 页面跳转进行解耦 非ViewController类实现页面跳转基于我之前文章做法在部分项目中无法正常跳转,或者是调转到当前视图的底层去了后来发现究其原因就是UITabbarController与UINavigationController相互嵌套使用导致的所以以下代码就不在起作用了,或者在某些页面将视图加载错了位置,主要原因是UINavigationCont...原创 2019-07-04 19:58:49 · 284 阅读 · 0 评论 -
iOS导航模式简单介绍
在iOS应用中,视图控制器处于重要地位。在UIKit中,视图控制器有很多种,有些负责显示视图,有些也同时兼顾导航。首先我们先见识几种常见的视图控制器:1、UIViewController。用于自定义视图控制器的导航。2、UINavigationController。导航控制器,它与UITableViewController结合使用,能够构建树形结构导航模式。3、UITableBarC...原创 2018-11-21 12:49:25 · 719 阅读 · 0 评论 -
iOS FSCalendar 使用过程中遇到的问题
项目中用到了日历控件先前用了几个三方控件 ,后还是决定用FSCalendar这里我采用了xib 的方式来新建FSCalenda 此时可以看到日历有6行,如图设置即可 ...原创 2019-01-11 08:52:34 · 1504 阅读 · 1 评论 -
iPhone X设备tabBar高度错乱的问题
iPhone X在主界面是UITabBarController的情况下,如果控制器的hidesBottomBarWhenPushed属性设为true,进行push操作之后会出现tabBar高度错乱的现象,先变矮一截,然后返回的时候又弹回到正常高度,非常影响使用感受.如果再当前页面点击到可以旋转的页面,那么这个问题会更加严重。正常状态:页面异常下:import UIKitc...原创 2019-01-28 18:58:32 · 1493 阅读 · 0 评论 -
基于RXSwift 下 页面跳转进行解耦 非ViewController类实现页面跳转
在日常开发过程中我们为了使这个项目,页面精简 美观易懂,往往采用组件式开发,会对一个复杂的完整页面分割成一个个UI view ,UItableviewcell 等控件类,或者我们会在某些网络请求回调 和异步操作跳转页面。如何在这些类内进行页面跳转呢。class NavigatorService : BaseService{ static let publishSubject = P...原创 2019-01-31 14:01:38 · 858 阅读 · 0 评论 -
swift deinit 不被执行
前言:strong:当你声明一个属性时,它默认就是强引用weak:弱引用对象的引用计数不会+1, 必须为可选类型变量在声明弱引用对象是必须用var关键字, 不能用let.因为弱引用变量在没有被强引用的条件下会变为nil, 而let常量在运行的时候不能被改变. deinit { //移除监听 NotificationCenter.defau...原创 2019-03-07 20:23:22 · 4269 阅读 · 1 评论 -
IOS Xcode Swift 编码规范
1二元运算符(+, ==, 或->)的前后都需要添加空格推荐let testValue = 1 + 2 if testValue == 1 { /* ... */} func testFunction(with testValue: TestClass) -> returnValu...转载 2019-03-30 17:29:47 · 570 阅读 · 0 评论 -
关于tableview 点击 展示 UIAlertController 延迟缓慢的诸多理解 与解决方法
问题 有时在点击tableview上的一个cell后弹出UIAlertController,会发现有延迟的问题,或者点击没有反应,随便再点击一下才会弹出问题解析 这种情况往往出现在 我们将 tableview 的 设置为 cell.selectionStyle = UITableViewCellSelectionStyleNone,是因为 点击事件发生后没有处理UI变...原创 2019-05-08 11:00:31 · 298 阅读 · 0 评论 -
关于tableview cell 重用机制理解 与cell 内容重复问题解决
在我们日常的开发过程中tableview 是十分常见的UI 控件之一。什么是Tableview?在众多移动应⽤用中,能看到各式各样的表格数据 。在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UITableView继承自UIScrollView,UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件。因此支持垂...原创 2019-05-21 19:48:01 · 840 阅读 · 0 评论