自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(321)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 调研加密几种方式

1.最近公司要加密,调研了几种比较常用的加密算法asc 码运算加密 DES 加密 AES 加密通过三偏文章介绍一下几种加密算法

2023-10-31 11:04:37 215

原创 Sequences | lazy

Sequences | lazy

2022-11-17 14:13:45 257 1

原创 反射 Mirror | Swift 动态性

反射 Mirror | Swift 动态性

2022-11-17 14:01:06 1431

原创 swift 函数类型+高阶函数

swift 函数类型+高阶函数

2022-11-17 13:54:43 1055

原创 Swift 元类型、self、Self、AnyObject、Any和AnyClass

Swift 元类型、self、Self、AnyObject、Any和AnyClass

2022-11-17 11:49:11 1101

原创 Swift 协议

协议的语法。

2022-08-05 10:01:01 119

原创 swift 【block】

而闭包是一个函数和它所捕获变量/常量环境的组合;一般指定义在函数内部的函数;一般它捕获的是外层函数的局部变量/常量;闭包和和闭包表达式的区别?闭包表达式是函数的另外一种表现形式,为了实现简介和高效,有不同的表现形式,例如自动闭包,尾随闭包;闭包是封装在函数中的函数或者闭包表达式,且捕获了局部变量的运行环境。它运用了闭包表达式,但闭包表达式不是闭包。...

2022-07-20 19:28:25 3283

原创 Swift 【Class】【struct】

值类型在传递和赋值时将进行复制,而引用类型则只会使用引用对象的一个指向。引用类型是在堆上,而值类型是在栈上进行存储和操作。相比栈上的操作,对上的操作更加复杂耗时,所以苹果官方推荐使用结构体,这样可以提高App运行的效率。值类型赋值给let var 或者函数传参的时候全是深拷贝;引用类型赋值给let var 或者函数传参的时候完,是将内存地址拷贝一份,属于浅拷贝。结构体属于值类型,标准库中的结构体采用copy on write策略,优化效率;class可以继承,这样子类可以使用父类的特性和方法。类型转换可以

2022-07-14 12:34:16 607

原创 Swift - 泛型

泛型做为 Swift 最强大的特性之一,许多 Swift标准库是通过泛型代码构建的。事实上,泛型的使用贯穿了整个 swift,如 Swift中 Array 和 Dictionary都是泛型集合。你可以创建一个 Int 数组,也可以创建String 数组,甚至可以是任意其它Swift类型的数组。同样的,你也可以创建存储任意指定类型的字典。 Array后面尖括号中的Element就是Array的定义的泛型类型 Dictionary尖括号中的Key、Value就是Dictionary定义的泛型类型

2022-07-04 17:40:21 487

原创 iOS 渐变进度条

直接上代码import UIKitclass ViewController: UIViewController { lazy var colorImage: myVIew = { let imageView = myVIew(image: UIImage.init(named: "aaaa")) imageView.frame = CGRect(x: 100, y: 100, width: 100, height: 100)

2022-03-16 13:52:09 814

原创 WKWebView 设置自定义UserAgent正确姿势

背景一般Web端通过UA来区分当前浏览器是在PC/Mobile/App内,所以在App内设置UA就是一个必须要做的事情。下面介绍三种方式设置WKWebView的UserAgent(没有耐心的可以直接看最下面一种)1. 通过UserDefaults(目前网上最常见的)由于WKWebView有一个特性,在初始化时会获取UserDefaults中“UserAgent”这个key的值,这需要我们在真正使用的WKWebView之前要创建一个WKWebView获取他默认的UAwebView .

2021-05-13 14:36:40 2396

原创 IOS 文本操作笔记——CHARACTERSET

iOS中要进行文本操作,如截取,trim等,CharacterSet是很重要的一个环节。iOS中用CharacterSet来表示一组Unicode的集合,它经常和Scanner,NSPredicate配合使用。这里是SDK提供的常用CharacterSetCharacterSet.alphanumerics // 字母和数字的组合,包含大小写, 不包含小数点CharacterSet.decimalDigits // 0-9的数字,也不包含小数点CharacterSet.control.

2020-12-29 11:30:28 641

原创 CABasicAnimation暂停\企动

self.isAnimation = true let rotationAnimation = CABasicAnimation.init(keyPath: "transform.rotation.z") rotationAnimation.toValue = NSNumber(value: M_PI * 2.0) rotationAnimation.isRemovedOnCompletion = false //后台不停止 ...

2020-12-29 11:22:25 553

原创 CMTime简单介绍

通常开发者认为时间的呈现格式应该是浮点数据,我们一般使用NSTimeInterval,实际上它是简单的双精度double类型,只是typedef了一下,但是由于浮点型数据计算很容易导致精度的丢失,在一些要求高精度的应用场景显然不适合,于是苹果在Core Media框架中定义了CMTime数据类型作为时间的格式,类型定义如下:typedef struct{CMTimeValue value;CMTimeScale timescale;CMTimeFlags flags;CMTimeEpo

2020-12-29 11:10:11 484

原创 AVPlayer添加播放进度监听

其实,苹果已经提供过有关的API:和AVPlayer进度有关API/// 添加监听.以及回调__weak typeof(self) weakSelf = self;[_player addPeriodicTimeObserverForInterval:CMTimeMake(1.0, 1.0) queue:dispatch_get_main_queue() usingBlock:^(CMTime time) { /// 更新播放进度 [weakSelf updateProgress];}];

2020-12-29 11:06:41 2804

原创 touchID 和 FaceID~2

TouchID 和 FaceId Error code 说明typedef NS_ENUM(NSInteger, LAError){ LAErrorAuthenticationFailed, // -1验证信息出错,就是说你指纹不对 LAErrorUserCancel // -2用户取消了验证 LAErrorUserFallback // -3用户点击了手动输入密码的按钮,所以被取消了 LAErrorSy...

2020-11-06 17:00:00 202

原创 touchID 和 FaceID~1

公司项目里面要 TouchID 和 faceID 来解锁安全中心FaceIDiPhoneX 提供的刷脸功能与之前的设备的TouchID类似,都是属于生物验证的范畴。苹果爸爸也是为了照顾开发者,这两个功能对应的API基本相同,对于之前支持TouchID的APP其实可以在不做任何修改的基础上兼容FaceID,只是在一些UI样式上需要修改。biometryTypeiOS11之后LAContext新增biometryType属性,调用时候可以根据这个属性来判断当前设备是使用FaceID还是Touc..

2020-11-06 16:51:08 339

原创 iPhone 各大机型设备号

一般人真不用关心这个,关心这个的可能是开发者。iPhone1,1 iPhone 2G iPhone1,2 iPhone 3G iPhone2,1 iPhone 3GS iPhone3,1 iPhone 4 (GSM) iPhone3,2 iPhone 4 (GSM Rev. A) iPhone3,3 iPhone 4 (CDMA) iPhone4,1 iPhone 4S iPhone5,1 iPhone 5 (GSM) iPhone5,2 iPhone 5 (Global) iPhon

2020-11-06 16:02:36 1648 1

原创 iOS开发解决IQKeyboardManager失效的问题

在项目中应用了第三方IQKeyboardManager来解决键盘的问题。但是如果textField或者textView的父视图是scrollView,那么IQKeyboardManager就失效了,没有把对应的视图推上去。解决:

2020-11-02 11:40:47 1991

原创 wkwebview白屏

解决方案在viewDidAppear回调进行遍历WKWebView的subviews,查找WKCompositingView是否存在来判断是否白屏;出现白屏可以关闭页面或者重新构造WKWebView页面,经过测试reload,loadRequest没有效果;- (void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]; BOOL isblank = [self isBlankView:self.we...

2020-09-08 13:43:53 644

原创 iOS自动打包问题汇总

1.遇到问题:*********requires a provisioning profile with the Push Notifications feature********解决办法:脚本文件exportTest.plist添加这个栏目注意是exportTest.plist,不是项目的info.plist文件一般手动打包生成的文件夹里面都会有exportTest.plist这个文件2.又遇到问题xcodebuild: error: Unknown build a.

2020-05-28 20:58:34 1600

原创 iOS自动打包IPA

整体步骤:1、下载脚本文件2、将脚本文件拉到你的工程3、修改脚本文件4、执行脚本文件5、成功自动打包现在我们开始操作1、下载脚本文件下载地址:https://github.com/CYC666/shell-files2、将脚本文件拉到你的工程3、修改脚本文件,打开脚本文件shell.sh编辑prject_name 和scheme_name编辑appid - app passwordfir平台获取token设置...

2020-05-28 20:51:09 169

原创 Xcode11添加引导页(升级后Launch Images Source选项不见了)

添加引导页流程网上很多,大家可以自己查找,这里要说的是今天升级Xcode11后添加引导页,遇到工程targets里面的App Icons and Launch Images里面 没有了Launch Images Source选项。(导致选择不了添加的启动页)最后在工程targets--Build Settings搜索Asset Catalog Launch Image Set Na...

2019-11-22 10:38:00 1691

原创 Xcode11新建项目后的一些问题

更新Xcode11后想要和原来一样愉快的敲代码还需要以下步骤:1. 新建项目后比以前多生成一个Scenedelegate类来管理生命周期,如果不使用ipad的多窗口就不建议使用,直接删掉,2. info.plist中删掉Application scene manifest3. AppDelegate中删掉两个方法4. AppDelegate中增加属性wind...

2019-11-19 17:56:17 896

原创 Laravel之文件上传

Laravel中使用Illuminate\Http\Request实例的file方法来访问上传的文件,该方法返回的对象是Symfony\Component\HttpFoundation\File\UploadFile类的一个实例,该类继承自PHP标准库中提供与文件交互方法的SplFileInfo类。$file = $request->file('file1'); //获取Upl...

2019-08-16 17:12:42 501

原创 js数组处理【splice 实现数组的删除、插入、替换】

一、splice 删除写法array.splice(index,n);参数含义index:数组中需要删除数据的起始位置;n:需要删除的元素,数据的个数;二、splice 插入写法array.splice(index,0,data1,data2,....);参数index:数组中需要插入数据的起始位置;0:删除的个数为0;data1,data2:...

2019-07-30 16:14:56 1222

原创 Docker环境搭建+配置

下载docker,地址docker下载; 下载docker项目环境文件,地址 dnmp 地址; 拷贝并命名配置文件 $ cd dnmp$ cp env.sample .env$ cp docker-compose-sample.yml docker-compose.yml$ docker-compose up 配置docker-compose.yml...

2019-07-17 09:56:07 159

原创 关于header传参 mac下谷歌浏览器解决跨域问题

前后端分离,在工作过程中,经常碰到本地调试服务器的工作,但是后端接口都在服务器上,不可能前端改完一行代码,静态文件丢在服务器上刷新调试,这样效率太低了,加上我们是webpack+vue方向,更没法这么搞了,不能每次都要npm run build下吧。所以有了今天的主题,谷歌浏览器设置跨域访问数据。windows 很简单下面说下mac1.建立本地文件夹cd /Users/[你的电脑名字]...

2019-07-16 17:32:07 624

原创 iview中Modal组件点击确定后验证信息不通过则不关闭弹窗方法

在使用Modal对话框过程中,遇到当点击确定按钮后,即使有检验信息不通过,写了return,弹窗依然关闭了,解决方案如下<Modal v-model="isTemManageShow" title="管理模板" @on-ok="ok" :loading="loading" @on-cancel="cancel"> <div class="mb10...

2019-07-11 16:35:34 5277 1

原创 iOS App跟小程序之间跳转

移动应用拉起小程序是指用户可以通过接入该功能的第三方移动应用(APP)跳转至某一微信小程序的指定页面,完成服务后跳回至原移动应用(APP)。App和小程序互相跳转:1)App主动发起小程序卡片分享到微信,微信点击打开小程序,这时的小程序可以打开App。(同行的各位做过分享的应该对这个比较熟悉)2)App主动发起打开小程序,这时的小程序可以打开App。目前主要就这两种方式吧,严格来说...

2019-06-28 18:34:39 1603

原创 mac上设置新版chrome浏览器跨域open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-d

最近用php写好了后端接口,但是在用vue写前端的时候,调用本地印射环境的接口的时候就报错打开一个新的可跨域的chrome窗口实现方法:1. 打开终端2. 输入下面的命令( 需要替换路径中的yourname)open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-d...

2019-06-26 16:39:16 4672 1

原创 PHP指定时间戳/日期加一天,一年,一周,一月

PHP指定时间戳加上1天,1周,1月,一年其实是不需要用上什么函数的!指定时间戳本身就是数字整型,我们只需要再计算1天,1周它的秒数相加即可!博主搜索php指定时间戳加一天一年,结果许多的文章给出来的结果是用的函数:strtotime();这个函数的确是可以很好的帮助到你,用这个函数有两种方法可以实现:第一:是你需要先把指定时间戳格式化再用这个函数才能加一天,一年.....;而且网上各大平台都...

2019-06-26 16:34:45 646

转载 WWDC19 苹果宣布全新 UI 框架 SwiftUI

2019 年 WWDC 大会上,苹果在压轴环节向大众宣布了基于 Swift 语言构建的全新 UI 框架 ——SwiftUI。开发者可通过它快速为所有的 Apple 平台创建美观、动态的应用程序。在介绍过程中,苹果公司软件工程高级副总裁 Craig Federighi 演示了如何将一百行代码简化为大约十几行。据官方介绍,SwiftUI 是一个创新且非常方便使用的框架,开...

2019-06-26 15:15:22 218

原创 sql记录

创建库CREATE DATABASE `database` CHARACTER SET utf8 COLLATE utf8_general_ci;建表SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for tool_content_g...

2019-06-25 15:10:05 116

原创 mac上设置新版chrome浏览器跨域

设置方法打开一个新的可跨域的chrome窗口实现方法:1. 打开终端2. 输入下面的命令( 需要替换路径中的yourname)open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/yourname/MyChromeDevUserData/...

2019-06-21 17:57:18 3366

原创 清除mysql表中数据

delete from 表名;truncate table 表名;不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncat...

2019-06-21 17:50:26 89

原创 数据库索引

什么是索引  数据库索引好比是一本书前面的目录,能加快数据库的查询速度。例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),直接在索引里面找 44(也就是在ID这一列找),就可以得知这一行的位置,也就是找到了这一行。可见,索引是用来定位的。索...

2019-06-21 17:47:02 93

原创 MYSQL数据库四种索引类型的简单使用

MYSQL数据库索引类型包括普通索引,唯一索引,主键索引与组合索引,这里对这些索引的做一些简单描述:(1)普通索引这是最基本的MySQL数据库索引,它没有任何限制。它有以下几种创建方式:创建索引CREATEINDEXindexNameONmytable(username(length));如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是...

2019-06-21 17:38:59 172

原创 laravel数据库常用方法

1.简单的数据库插入的方法;$dbData = ActivityModel::query()->insert($param);//第二种返回插入对象 ----$dbData$dbData = (new ConfigHome())->create($param_new);2.简单的数据库表更新方法: /** * 更新数据库如果更新内容一样的...

2019-05-30 15:36:00 277

原创 php laravel左连接leftJoin多条where语句

通常情况下我们在做leftjoin连接时需要对不止一个条件进行进行匹配,这时候就需要使用闭包方式,如下:leftjoin('db', function ($join) {···});leftjoin多条件查询,无非以下三种情况。并且关系(&&)且为字段名称,使用on,代码示例如下:$roomUuid = 1;$chatInfo = DB::table('ch...

2019-05-30 15:09:20 2772

SourceTree

Mac上Git软件,好用 . SourceTree是 拥有可视化界面的项目版本控制软件,适用于git项目管理

2018-11-21

最全宏定义

最全宏定义

2016-03-22

线程的使用

各种多线程的运用

2014-08-12

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除