学习
文章平均质量分 55
闽江小张
任职于深圳某上市公司,性别男,爱好女。擅长于移动端开发,了解服务端开发、客户端开发。对iOS移动端开发、Java服务端、Swift、OC、Java、Vue、H53C等相关技术有一定见解。本人通过软考高级、中级,会计初级等职业资格证书,对相关资格考试有一定备考攻略。如有需要都可以联系我进行沟通学习。
展开
-
iOS原生分享UIActivityViewController
小编收集了各大博主写的一个关于原生分享和三方分享的优缺点。摘抄几个比较有用的对比图,如下图所示。具体使用系统UIActivityViewController代码如下:- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ NSString *textToShare = @"分享famisafe";//需要分享的文本内容 UIImage *imageToShare =原创 2022-05-27 14:53:23 · 1687 阅读 · 0 评论 -
iOS NDPredicate与数组过滤
在过滤数组的过程中有两种方法,一种是写for去做判断。另一种就是使用系统自带的filteredArrayUsingPredicate和predicateWithFormat这两个方法。两种方法的使用区别如下:predicateWithFormat 是无返回值过滤,在原数组内部过滤filteredArrayUsingPredicate 有返回值过滤字符串数组操作常用方法以上两种过滤方法都需要传入一个人NDPredicate也就是谓词(过滤条件)去判断。长江的过滤方法有以下三种。 /*原创 2022-05-25 14:19:16 · 683 阅读 · 0 评论 -
已解决 iOS XIB 拖线奔溃
奔溃信息this class is not key value coding-compliant for the key 变量名.'terminating with uncaught exception of type NSException(Recorded stack frame) 奔溃原因:1、在xib是添加UI控件后,把xib拖拽到.h或者.m里面正确的应该是如下图所示。如果会奔溃说明拖拽成了2、设置xib中的View的Custom Class里面的Class设置是否正确。正确设置如原创 2022-04-27 16:23:36 · 788 阅读 · 0 评论 -
【已解决】Xcode使用lldb命令,Xcode无响应
小编在使用Xcode开发iOS项目的时候,遇到打断点之后使用lldb命令去调试代码的时候,遇到Xcode必无响应的情况。Xcode版本号为 Version 13.3参考的网络上的很多解决办法如在Build Settings中将Enable Clang Module Debugging设置为NO即可.也许是小编人品不行,经过如上设置后lldb断点调试命令还是会让Xcode无响应。最后解决办法:1、关闭Xcode2、前往 Library/Developer/Xcode/DerivedData路径,原创 2022-04-18 18:37:23 · 3283 阅读 · 0 评论 -
SourceTree通过SSH方式连接Git
执行ssh-add ~/.ssh/id_rsa将sshkey添加到sourceTree(会输入密码)执行ssh-add -K ~/.ssh/id_rsa将sshkey添加到钥匙串cd 到 .ssh目录下, 用touch config命令创建config文件执行open config, 打开config文件,输入以下内容并保存作者:择一城终老_蜗牛链接:https://www.jianshu.com/p/926a7b5fc2a0来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请原创 2022-04-13 19:57:19 · 1577 阅读 · 0 评论 -
计算机基础相关知识面试题
之前写过一篇面试题但是在春招面试、笔试问了很多计算机网络、数据结构、操作系统等相关知识点记点之前总结的还是不够参考的,再来一篇,顺序有点乱,但是每一个都是参考的,已备大家复习使用吧。文章目录UDP(传输控制协议)和TCP(用户数据报协议)的协议的区别?TCP/IP的五层模型和OSI的七层模型排序算法的时间复杂度、空间复杂度等数组和链表的区别优缺点UDP(传输控制协议)和TCP(用户数据报协议)的协议的区别?第一、安全方面的区别:TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作原创 2022-03-30 16:03:11 · 5425 阅读 · 0 评论 -
微信小程序web-view实现蒙版
很多小伙伴在开发微信小程序的过程中遇到跳转H5的需求,那么跳转H5的时候会使用标签,这时候如果单纯的跳转H5页面会表示的很没有用户体验,效果也不佳。经过研究,可以使用如下代码实现蒙版wxml代码如下:<view class="view"> <web-view src="{{URL}}"></web-view> <cover-view class="share-button"> <cover-view class="s原创 2022-03-29 14:28:44 · 1778 阅读 · 0 评论 -
【计算机面试题】并发、并行、异步、同步
这几天,小编在面试的过程中频繁被问到并发(Concurrency)、并行(Parallelism)、异步(async)、同步(sync)这四个概念之间到底有什么区别和联系呢?网络上的资源层出不穷,小编不得不总结一篇博客给大家学习一下哈。并发(Concurrency)是一个比较宽泛的概念,单纯代表计算机能够同时执行多项任务,至于计算机怎么做到并发(Concurrency)则有不同的形式。对于单核处理器,计算机可以通过分配时间片的方式,让一个任务执行一段时间在切换到另一个任务在运行一段时间,不同的任务会这样原创 2022-03-22 11:01:50 · 742 阅读 · 0 评论 -
iOS面试
iOS面试问题原创 2022-02-15 11:36:54 · 1751 阅读 · 0 评论 -
iOS中的GCD的基本使用
之前博客有说过iOS中的多线程这边就不详细介绍了,这边就来说说iOS中的GCD多线程离不开同步异步,GCD也是一样的同步(sync)和异步(async)CGD基本使用: //qos:background服务质量 后台执行 //qos:default 正常服务质量 //attributes:concurrent可以指定是串行队列还是并行队列 //如果没有指定concurrent则是串行,否则并行 //autoreleaseFrequ原创 2022-02-10 17:22:08 · 663 阅读 · 0 评论 -
iOS 访问控制权限【Swift】
对于每个语言都有属于自己的访问控制权限对于Java来说:OC中提供了4个访问控制符: @private @package @protected @public 。对于iOS开发工程师使用OC语言的来说:OC中提供了4个访问控制符: @private @package @protected @public 。而对于iOS开发工程师还有一种是使用Swift来????代码的,那么对应Swift的访问控制 open, public, internal, fileprivate, private这五个。ope原创 2021-12-22 18:06:48 · 2645 阅读 · 0 评论 -
does not specify a Swift version and none of the targets (`packager`) integrating it have the `SWIFT
iOS打包过程中遇到一个坑点,在输入以下命令进行打包的过程中,pod package AAA.podspec --library --force报错如下does not specify a Swift version and none of the targets (`packager`) integrating it have the `SWIFT_VERSION` attribute set. Please contact the author or set the `SWIFT_VERSION原创 2021-12-22 15:37:27 · 3299 阅读 · 0 评论 -
Swift 闭包与@autoclosure
有写过OC的同学一定知道OC中又个Block的概念,其实Swift中有一个也有与之对应的闭包概念,说到闭包不得不说@autoclosure关键字,其实就是自动闭包的意思。先来看看Swift的闭包如何写? override func viewDidLoad() { super.viewDidLoad() //直接调用方法 printText { () -> Int in return 1 } }原创 2021-12-21 17:28:11 · 1652 阅读 · 0 评论 -
iOS 中的设计模式
本文基于iOS开发中的Swift编程语言,来讲讲iOS中的设计模式。设计模式其实对于程序员来说无处不在,就好比空气一样,对人很重要但是你却不知道他的存在。不想说太多理论的东西。这里有告诉你很详细什么是设计模式?每一种设计模式的作用?菜鸟教程【单利模式】在程序didFinishLaunchingWithOptions方法中,我们通常会写以下代码 func application(_ application: UIApplication, didFinishLaunchingWithOptions原创 2021-12-20 10:32:29 · 673 阅读 · 0 评论 -
iOS UIImageView的contentMode属性【Swift版】
今天小编遇到一个Bug,就是图片被自动拉升了,就比如这样的一张宽的图片,iOS会自动拉升的到适配UIImageView尺寸的。一开始忘记了UIImageView有contentMode属性。百思不得其解。后来。。。。。(就是我太菜)来波总结【文后有惊喜】public enum ContentMode : Int { case scaleToFill = 0 //默认 case scaleAspectFit = 1 // 内容缩放以适应固定的方面。其余部分是透明的原创 2021-12-17 17:50:08 · 2678 阅读 · 0 评论 -
iOS 统计代码行数
iOS 统计代码行数原创 2021-12-15 14:57:44 · 1769 阅读 · 0 评论 -
iOS中SDWebImage
一、SDWebImage的基本使用小编最早也只是会基本使用,但是后来企业导师和我说SDWebImage的东西很多,只会基本使用是不够的。那么先来看看基本使用。SDWebImage的github地址官方文档·Objective-C#import <SDWebImage/SDWebImage.h>...[imageView sd_setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]原创 2021-12-14 14:47:52 · 941 阅读 · 0 评论 -
iOS 发送邮件SKPSMTPMessage
【前提分析】小编在做毕业设计 ,因为没有服务端,所有的功能由客户端实现。这时候小编接到了一个需求 就是需要邮件发送验证码。【需求分析】1、如何使用客户端发送邮件。2、如何发送验证码?这时候小编拿到需求的时候,????一个挖槽,服务端需求客户端实现。怎么搞???好在作为一个面向搜索引擎开发的工程师来说百度了一波。找到了iOS开发可以使用SKPSMTPMessage进行邮件发送。使用SKPSMTPMessage 步骤(由于网上很多ObjectiveC的使用,这边小编采用Swift完成)【使用步骤】原创 2021-12-13 11:24:10 · 2388 阅读 · 1 评论 -
Swift倒计时按钮
在需要使用倒计时按钮的地方黏贴以下代码 //倒计时验证码 func countDown(_ timeOut: Int, btn: UIButton){ //倒计时时间 var timeout = timeOut let queue:DispatchQueue = DispatchQueue.global(qos: DispatchQoS.QoSClass.default) let _timer:Dispatch原创 2021-12-08 14:59:01 · 1549 阅读 · 1 评论 -
iOS跳转三方地图(Swift)
MapNavigator (View)class MapNavigator: UIView,UIAlertViewDelegate { let toLocation: CLLocationCoordinate2D = CLLocationCoordinate2D.init() let APP_NAME = "BaiDuStudy" let URL_SCHEME = "lgwmapnav://" override init(frame: CGRect) {原创 2021-11-26 12:05:16 · 1176 阅读 · 0 评论 -
pod install 的LoadError问题【已解决】
大佬和我说这是M1才可能遇到的问题,可是我并不是M1电脑也没有更新系统遇到了!!!哈哈哈操!遇到这两个坑x 'require': incompatible library version........(LoadError)cannot load such file -- 3.0/ffi_c (LoadError)截图如上遇到这两个坑的时候。百度了,网上解决方案很少,cocoapods的也删掉重试了,没用!!!最后认真看提示!!让我们输入gem pristine executable -hoo原创 2021-11-25 13:57:34 · 2828 阅读 · 0 评论 -
iOS多线程基本使用教程(Swift)
iOS多线程基本使用一、iOS的三种多线程技术1、NSThread2、NSOperation3、GCD二、基本使用NSThread的基本使用NSOperation的基本使用GCD的基本使用一、iOS的三种多线程技术1、NSThread–优点:NSThread 比其他两个轻量级,使用简单–缺点:需要自己管理线程的生命周期、线程同步、加锁、睡眠以及唤醒等。线程同步对数据的加锁会有一定的系统开销2、NSOperation不需要关心线程管理,数据同步的事情,可以把精力放在自己需要执行的操作上3、GCD原创 2021-11-24 17:57:30 · 3276 阅读 · 0 评论 -
iOS 读取本地Json遇到的坑
一开始代码使用如下参考百度的 let path = Bundle.main.path(forResource: "cityList", ofType: "json") print(path) let url = URL(fileURLWithPath: path!) // 带throws的方法需要抛异常 do { /*原创 2021-11-23 21:31:41 · 476 阅读 · 0 评论 -
iOS定位及解析经纬度【Swift】
导入import CoreLocationimport MapKit实现CLLocationManagerDelegate代理初始化位置信息 // MARK:初始化位置 func initLocation() { locationManager.delegate = self //设置定位模式 locationManager.desiredAccuracy = kCLLocationAccuracyBest原创 2021-11-23 19:15:09 · 1115 阅读 · 0 评论 -
iOS 中的RunLoop
写个伪代码,我们的日常:while(活着) 有事干了 = 我睡觉去了(); if (搬砖){ 搬砖() }else if (泡妞){ 泡妞() }else{ 吃饭() }}为什么要有RunLoop?1、使程序一直运行2、使程序在那些时候处理那些Event3、调用结偶(滑动的时候不能卡住、消息队列)4、节省CPU时间于RunLoop有关系的几个东西NSTimer、UIEvent、AutoreleaseCADisplayLink、CATransition、CAAnima原创 2021-11-22 16:12:06 · 647 阅读 · 0 评论 -
【iOS紫色警告】GPUImage启动摄像头耗时
当我们pod下GPUImage 后 如果调用摄像头的代码,到启动摄像头会延迟很久,系统虽然不会报错,但是影响用户体验!!!总结下来!一共两个问题!!输出如下!!!Main Thread Checker: UI API called on a background thread: -[UIView layer] PID: 901, TID: 68934, Thread name: (none), Queue name:Main Thread Checker: UI API called on a b原创 2021-11-09 15:13:09 · 1834 阅读 · 0 评论 -
iOS打包静态库的姿势
一、这个是需要在podfile上面加上的source ‘https://github.com/CocoaPods/Specs.git’source ‘自己的SDK的位置.git’二、cd到自己工程的Example文件下cd Examplepod install————————————Analyzing dependenciesDownloading dependenciesInstalling ZJBTools 0.1.6 (was 0.1.4)————————————三、git推送指原创 2021-11-09 14:18:23 · 1713 阅读 · 0 评论 -
Swift复习资料【三】
Swift从入门到放弃实例【三】四十、 Swift从入门到放弃实例【二】四十一、Any 和AnyObject的区别四十二、类的继承四十三、重载四十四、重写四十五、类型判断处理、对象相等性判断四十六、extension四十七、泛型四十八、协议protocol四十九、lazy 延迟加载五十、普通初始化器、可失败初始化器五十一、必要初始化器、 结构体成员初始化器、闭包设置初始值五十二、ARC五十三、循环引用五十四、五十五、五十六、五十七、五十八、五十九、六十、四十、 Swift从入门到放弃实例【二】四十一、A原创 2021-09-16 11:36:09 · 147 阅读 · 0 评论 -
Swift复习资料【二】
Swift从入门到放弃实例【二】二十、Swift从入门到放弃实例【一】二十一、函数二十二、断言二十三、guard 语句可选项绑定二十四、inout关键字二十五、函数类型二十六、匿名函数二十七、匿名函数作为函数的参数二十八、函数作为方法的返回值二十九、内嵌函数三十、函数的简写三十一、定义枚举、设置枚举值二十、Swift从入门到放弃实例【一】二十一、函数//函数的定义func FunName(){ print("FunName 函数执行(无返回值,无参数)")}FunName()func原创 2021-09-15 11:45:55 · 136 阅读 · 0 评论 -
[复制即可使用工具类]RedisUtils
** [复制即可使用]RedisUtils**package com.example.demo.utils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Component;import org.springframework.ut转载 2021-07-14 14:58:52 · 77 阅读 · 0 评论 -
【已解决】SpringBoot2+JDBC连接问题
Pom.xml<!-- mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--JDBC连接--> <dependency> <groupId>org.springframework.原创 2021-07-11 09:26:19 · 2002 阅读 · 0 评论 -
Swagger2复制黏贴版
Pom.xml<!--Swagger学习,需要导入2个依赖 --> <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> &原创 2021-07-10 15:14:30 · 438 阅读 · 0 评论 -
Ubuntu配置Docker最全讲解
一、Docker简介Docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);Docker客户端(Client):连接Docker主机进行操作;Docker仓库(Register):用来保存打包各种打包好了软件镜像;Docker镜像(images):软件打包好的镜像;放在Docker仓库中。Docker容器(Container):镜像启动后的实例称为一个容器,容器是独立运行的一个或一组应用。使用Docker的步骤:1、安装Docker仓库2、去Dock原创 2021-07-10 10:42:17 · 4901 阅读 · 2 评论 -
SpringBoot错误处理机制
1、SpringBoot默认的处理机制默认效果:1、浏览器,返回一个默认的错误页面浏览器发送请求的请求头主要有text/html此时请求头为*/*2、如果是其他客户端,默认相应的是JSON数据原理可以参照ErrorMvcAutoConfiguration;错误处理的自动配置。给容器中添加了1、DefaultErrorAttributes:帮我们在页面共享信息 private Map<String, Object> getErrorAttributes(Server原创 2021-07-09 13:09:34 · 309 阅读 · 3 评论 -
SpringBoot与Web开发
Web开发使用SpringBoot;1、创建SpringBoot应用,选中我们需要的模块;2、SpringBoot已经将所需的场景配置好了,只需要在配置文件中指定少量的配置就可以运行起来。3、自己编写业务代码;主要就是自动配置原理?xxxAutoConfigration :帮我们给容器中自动配置组件xxxProperties:配置类来封装配置文件的内容1、SpringBoot对静态资源的映射规则添加资源映射1、所有/webjars/**,都去classpath:/META-INF/r原创 2021-07-07 15:44:01 · 175 阅读 · 0 评论 -
SpringBoot与日志
1、市面上的日志框架JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j……日志门面(日志抽象层)日志实现JCL(Jakarta Commons Logging)Log4jLog4j2SLF4J (Simple Logging Facade for Java )JUL(java.util.logging)Jboss-loggingLogback左边选一个门面(抽象层)、右边选择一个实现日志门面选择SLF4J原创 2021-07-07 10:38:12 · 198 阅读 · 0 评论 -
CONDITIONS EVALUATION REPORT条件评估报告
Conditional 派生注解(spring 注解版原生@Condition作用)作用:必须是@Condition指定的条件成立,才给容器添加组件,配置类里面的属性才会生效。@Conditional扩展注解作用(判断是否满足当前指定条件)@CoditionalOnJava系统的Java版本是否符合要求@ConditionalOnBean容器中存在指定的Bean@ConditionalOnMessingBean容器中不存在指定的Bean@Conditional原创 2021-07-05 20:10:39 · 497 阅读 · 0 评论 -
初学者学习Nginx(保姆级笔记)
初学者学习Nginx(保姆级笔记)1、 Nginx 三大特性(1)、反向代理(2)、负载均衡(3)、动静分离2、linux 安装 Nginx2、1安装Nginx的依赖pcre1、pcre下载,可单击:pcre下载位置2、下载好后拖到服务器或者Linux目录中3、tar -xvf 解压缩的名字 解压缩 例如:tar -xvf pcre-8.00.tar 。4、编译或者检查,使用一下命令:./configure5、安装:make && make insatll原创 2021-07-05 19:26:33 · 96 阅读 · 0 评论 -
SpringBoot学习笔记2
1、@Value获取值和@ConfigurationProperties获取值比较@ConfigurationProperties@Value功能批量注入配置文件中的属性一个个绑定松散绑定(松散语法)支持不支持SPEL不支持支持JSR303数据校验支持不支持复杂类型分装支持不支持配置文件yml或者properties他们都能获取到值;如果说,我们只是在某个业务逻辑中的获取一下配置文件中的某项值,我们使用@Value。如果说,我们原创 2021-07-05 17:13:51 · 107 阅读 · 0 评论 -
【简介】Spring Boot 配置文件及yaml基本用法
1、配置文件SpringBoot 使用一个全局的配置文件 配置文件名是固定的:application.propertiesapplication.yml/application.yaml配置文件的作用:修改SpringBoot自动配置的默认值(如端口);SpringBoot在底层都给我们自动配置好YAMl(YAML Ain't Markup Language)其实是一种 递归写法 !!YAML A Markup Language:是一个标记语言YAML isn’t Markup Languag原创 2021-06-05 22:15:58 · 167 阅读 · 2 评论