- 博客(322)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 HarmonyOS入门-状态管理
View(UI):UI渲染,指将build方法内的UI描述和@Builder装饰的方法内的UI描述映射到界面。State:状态,指驱动UI更新的数据。用户通过触发组件的事件方法,改变状态数据。状态数据的改变,引起UI的重新渲染。
2024-07-25 15:46:13
889
原创 Swift 元类型、self、Self、AnyObject、Any和AnyClass
Swift 元类型、self、Self、AnyObject、Any和AnyClass
2022-11-17 11:49:11
1342
原创 swift 【block】
而闭包是一个函数和它所捕获变量/常量环境的组合;一般指定义在函数内部的函数;一般它捕获的是外层函数的局部变量/常量;闭包和和闭包表达式的区别?闭包表达式是函数的另外一种表现形式,为了实现简介和高效,有不同的表现形式,例如自动闭包,尾随闭包;闭包是封装在函数中的函数或者闭包表达式,且捕获了局部变量的运行环境。它运用了闭包表达式,但闭包表达式不是闭包。...
2022-07-20 19:28:25
3719
原创 Swift 【Class】【struct】
值类型在传递和赋值时将进行复制,而引用类型则只会使用引用对象的一个指向。引用类型是在堆上,而值类型是在栈上进行存储和操作。相比栈上的操作,对上的操作更加复杂耗时,所以苹果官方推荐使用结构体,这样可以提高App运行的效率。值类型赋值给let var 或者函数传参的时候全是深拷贝;引用类型赋值给let var 或者函数传参的时候完,是将内存地址拷贝一份,属于浅拷贝。结构体属于值类型,标准库中的结构体采用copy on write策略,优化效率;class可以继承,这样子类可以使用父类的特性和方法。类型转换可以
2022-07-14 12:34:16
690
原创 Swift - 泛型
泛型做为 Swift 最强大的特性之一,许多 Swift标准库是通过泛型代码构建的。事实上,泛型的使用贯穿了整个 swift,如 Swift中 Array 和 Dictionary都是泛型集合。你可以创建一个 Int 数组,也可以创建String 数组,甚至可以是任意其它Swift类型的数组。同样的,你也可以创建存储任意指定类型的字典。 Array后面尖括号中的Element就是Array的定义的泛型类型 Dictionary尖括号中的Key、Value就是Dictionary定义的泛型类型
2022-07-04 17:40:21
631
原创 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
874
原创 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
2756
原创 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
782
原创 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
660
原创 CMTime简单介绍
通常开发者认为时间的呈现格式应该是浮点数据,我们一般使用NSTimeInterval,实际上它是简单的双精度double类型,只是typedef了一下,但是由于浮点型数据计算很容易导致精度的丢失,在一些要求高精度的应用场景显然不适合,于是苹果在Core Media框架中定义了CMTime数据类型作为时间的格式,类型定义如下:typedef struct{CMTimeValue value;CMTimeScale timescale;CMTimeFlags flags;CMTimeEpo
2020-12-29 11:10:11
573
原创 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
3139
原创 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
241
原创 touchID 和 FaceID~1
公司项目里面要 TouchID 和 faceID 来解锁安全中心FaceIDiPhoneX 提供的刷脸功能与之前的设备的TouchID类似,都是属于生物验证的范畴。苹果爸爸也是为了照顾开发者,这两个功能对应的API基本相同,对于之前支持TouchID的APP其实可以在不做任何修改的基础上兼容FaceID,只是在一些UI样式上需要修改。biometryTypeiOS11之后LAContext新增biometryType属性,调用时候可以根据这个属性来判断当前设备是使用FaceID还是Touc..
2020-11-06 16:51:08
455
原创 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
3432
1
原创 iOS开发解决IQKeyboardManager失效的问题
在项目中应用了第三方IQKeyboardManager来解决键盘的问题。但是如果textField或者textView的父视图是scrollView,那么IQKeyboardManager就失效了,没有把对应的视图推上去。解决:
2020-11-02 11:40:47
2141
原创 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
939
原创 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
1874
原创 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
224
原创 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
1777
原创 Xcode11新建项目后的一些问题
更新Xcode11后想要和原来一样愉快的敲代码还需要以下步骤:1. 新建项目后比以前多生成一个Scenedelegate类来管理生命周期,如果不使用ipad的多窗口就不建议使用,直接删掉,2. info.plist中删掉Application scene manifest3. AppDelegate中删掉两个方法4. AppDelegate中增加属性wind...
2019-11-19 17:56:17
941
原创 Laravel之文件上传
Laravel中使用Illuminate\Http\Request实例的file方法来访问上传的文件,该方法返回的对象是Symfony\Component\HttpFoundation\File\UploadFile类的一个实例,该类继承自PHP标准库中提供与文件交互方法的SplFileInfo类。$file = $request->file('file1'); //获取Upl...
2019-08-16 17:12:42
596
原创 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
1475
原创 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
214
原创 关于header传参 mac下谷歌浏览器解决跨域问题
前后端分离,在工作过程中,经常碰到本地调试服务器的工作,但是后端接口都在服务器上,不可能前端改完一行代码,静态文件丢在服务器上刷新调试,这样效率太低了,加上我们是webpack+vue方向,更没法这么搞了,不能每次都要npm run build下吧。所以有了今天的主题,谷歌浏览器设置跨域访问数据。windows 很简单下面说下mac1.建立本地文件夹cd /Users/[你的电脑名字]...
2019-07-16 17:32:07
714
原创 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
5591
1
原创 iOS App跟小程序之间跳转
移动应用拉起小程序是指用户可以通过接入该功能的第三方移动应用(APP)跳转至某一微信小程序的指定页面,完成服务后跳回至原移动应用(APP)。App和小程序互相跳转:1)App主动发起小程序卡片分享到微信,微信点击打开小程序,这时的小程序可以打开App。(同行的各位做过分享的应该对这个比较熟悉)2)App主动发起打开小程序,这时的小程序可以打开App。目前主要就这两种方式吧,严格来说...
2019-06-28 18:34:39
2032
原创 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
4775
1
原创 PHP指定时间戳/日期加一天,一年,一周,一月
PHP指定时间戳加上1天,1周,1月,一年其实是不需要用上什么函数的!指定时间戳本身就是数字整型,我们只需要再计算1天,1周它的秒数相加即可!博主搜索php指定时间戳加一天一年,结果许多的文章给出来的结果是用的函数:strtotime();这个函数的确是可以很好的帮助到你,用这个函数有两种方法可以实现:第一:是你需要先把指定时间戳格式化再用这个函数才能加一天,一年.....;而且网上各大平台都...
2019-06-26 16:34:45
689
转载 WWDC19 苹果宣布全新 UI 框架 SwiftUI
2019 年 WWDC 大会上,苹果在压轴环节向大众宣布了基于 Swift 语言构建的全新 UI 框架 ——SwiftUI。开发者可通过它快速为所有的 Apple 平台创建美观、动态的应用程序。在介绍过程中,苹果公司软件工程高级副总裁 Craig Federighi 演示了如何将一百行代码简化为大约十几行。据官方介绍,SwiftUI 是一个创新且非常方便使用的框架,开...
2019-06-26 15:15:22
263
原创 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
150
原创 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
3439
原创 清除mysql表中数据
delete from 表名;truncate table 表名;不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncat...
2019-06-21 17:50:26
111
原创 数据库索引
什么是索引 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),直接在索引里面找 44(也就是在ID这一列找),就可以得知这一行的位置,也就是找到了这一行。可见,索引是用来定位的。索...
2019-06-21 17:47:02
120
原创 MYSQL数据库四种索引类型的简单使用
MYSQL数据库索引类型包括普通索引,唯一索引,主键索引与组合索引,这里对这些索引的做一些简单描述:(1)普通索引这是最基本的MySQL数据库索引,它没有任何限制。它有以下几种创建方式:创建索引CREATEINDEXindexNameONmytable(username(length));如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是...
2019-06-21 17:38:59
200
原创 laravel数据库常用方法
1.简单的数据库插入的方法;$dbData = ActivityModel::query()->insert($param);//第二种返回插入对象 ----$dbData$dbData = (new ConfigHome())->create($param_new);2.简单的数据库表更新方法: /** * 更新数据库如果更新内容一样的...
2019-05-30 15:36:00
407
iOS中列表编辑时view盖到cell上
2015-01-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人