苹果
文章平均质量分 55
有没有人告诉你
这个作者很懒,什么都没留下…
展开
-
密码键盘弹出来却是明文的?
再后来卸包 替换 等傻瓜操作,发现也不管用,替换了反而svn出现了问题,出现Working copy is too old (format 10, created by Subversion 1.6) 这种报错,然后备份代码,感觉运气太差了,解决报错是shift+comamnd+. 显示当前文件下的隐藏文件,然后删除,发现这样确实svn代码可以恢复了。居然还有这样的bug,svn的错,拽这种三方包的一定要小心隐藏svn文件,有时候程序说不定因为这些隐藏的文件让你死都不知道怎么死的。原创 2022-10-31 17:59:13 · 310 阅读 · 0 评论 -
iOS import导入时没有提示的解决办法
一些标识符:$(SRCROOT) (这代表工程根目录)、$(PODS_ROOT) (这代表pods文件夹)、$(inherited) (这个是target在设置自己路径的时候如果加了这个,那么就是继承project里设置的路径)在项目的Target的里设置一下,添加cocoapods头文件目录:目录路径直接写:$(PODS_ROOT) (这代表pods文件夹目录) ,后边选择recursive(意思是递归查找子目录)。问题描述:使用cocoapods时,import 找不到头文件。原创 2022-10-28 15:21:30 · 780 阅读 · 0 评论 -
SpringBoot中常用的注解
包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上;转载 2022-08-16 17:12:39 · 419 阅读 · 0 评论 -
hitTest的基本用法
让关闭按钮出现在控制器里面,但实际关闭按钮还在他的父视图YFHitTestVIews 外面。由于关闭按钮在父视图外面,又得接受时间,只能把父类自定义继承于UIView,重写hittest方法,目的是返回点击的视图。好久不玩这玩意了,差点忘了,以为父视图重写个方法就行了,半天捕获不到事件,可以在视图的外面,但是不能再控制器的外面!场景:在原有更新弹框 下面加个关闭按钮,只能点击关闭去掉弹框,不是点击屏幕黑屏自由落下;2,关闭按钮不能在控制器的外面,这样重写hittest也不会反应到,坑了n久;......原创 2022-08-12 16:52:18 · 954 阅读 · 0 评论 -
swift class viewController has no initializers
在ios开发中遇到此问题:class viewController has no initializers解决的办法:将UIViewController的子类中的变量全部进行拆包处理,就是在变量声明的时候加一个?号,在使用的时候拆包处理,加一个!号:...原创 2022-04-18 15:03:07 · 2455 阅读 · 0 评论 -
Swift强大的数组
1、建立数组 //创建空数组 var arr1 = [Int]() var arr2 = Array<Int>() //创建有默认值的数组 var arr3 = [1,9,3,1,4] var arr4 = Array<Int>(repeating: 1, count: 5)2、尾部添加元素 var arr = [3,4,5,6] arr原创 2022-04-14 11:33:22 · 2771 阅读 · 0 评论 -
swift app启动黑屏
新建swift APP后, 设置rootviewcontroller为其他Controller,如果 勾选的是main.storyboard 运行app ,删除后main.storyboard会有黑屏问题。1.检查info.plist 文件首先我们去到info.plist,删掉如下图箭头所示2.删除SceneDelegate.swift 文件3.删除APPdelegate.swift 中 与Scene相关的代码4.在APPdelegate.swift里面添加window属...原创 2022-04-06 14:51:24 · 2761 阅读 · 0 评论 -
Swift 之 as区别
1.?定义:用?修饰的常量或者变量,代表这是一个可选类型的常量或者变量,就是说这个量可以有值,也可以没有值。如下例子,如果num有值就是int类型,如果没有值那就是nil例子: let num: Int? // nil类型 let num: Int? = 2 // int类型2.!定义:如果要操作一个可选类型的变量,并且你需要进行强解包的时候,你就会用到!。如果有值就会得到变量的值,如果为原创 2022-03-23 15:19:28 · 3103 阅读 · 0 评论 -
Swift-奇奇怪怪的符号
?- 可选类型?在Swift语言中对一种可选类型(Optional)操作的语法糖,可以用?来表示“有一个值,值是什么”或者“没有值,值是nil”。var A_nil: Int? = nilvar A: Int? = 10var A_other: Int = nil // 'nil' cannot initialize specified type 'Int'这里我们可以看到可选类型的变量既可以设置为有值类型,也可以设置为nil类型,但是A_other设置为nil,程序就会报错,ni...原创 2022-03-22 10:00:05 · 569 阅读 · 0 评论 -
手动设置ip 访问内网地址
前两天想看看时时日志,打开FinalShell ,结果一直显示连接主机失败,以为是用户名和密码改了,或者是软件过期了需要付费破解,做了一系列废操作,甚至pingxumindeMacBook-Pro:~ xumin$ ssh root@192.168.10.215ssh: connect to host 192.168.10.215 port 22: Operation timed outxumindeMacBook-Pro:~ xumin$ ssh root@192.168.10.215ss原创 2022-02-25 16:40:33 · 2634 阅读 · 0 评论 -
UItableview复用问题
做项目会遇到一个场景,提前定制好的cell,布局好图片,文字等等,但是突然某一行需要加一个单独的按钮或者其他控件,如果cell列表过多,这时候滑动过于频繁,会出现显示错乱,怎么解决?第一,构造好cell后removeFromSuperview掉新增元素 YFFukaTurnLabelLabelCell *cell = [tableView dequeueReusableCellWithIdentifier:@"YFFukaTurnLabelLabelCell"]; cell.se...原创 2022-02-17 16:38:00 · 1212 阅读 · 0 评论 -
Duplicate interface definition for class 错误的原因
主要原因是因为在同一文件存在工程的不同的目录下,反复添加到工程里。造成重定义,解决办法是删除里重复的refrence就可以了。原创 2022-01-07 15:31:27 · 3141 阅读 · 0 评论 -
Charles抓https包显示<unknown>
Charles抓https包未正确设置时会遇到<unknown>的情况这个时候我们可以分三步排查, Mac上是否安装并信任证书; 手机是否设置代理、是否已安装描述文件; 手机证书是否已信任。 下面????就描述下具体操作步骤。一、安装mac证书 help ???? SSL Proxying ???? Install charles Root Certificate 钥匙串中搜索关键字“Charles”找到刚安装的转载 2021-12-29 16:31:04 · 10262 阅读 · 1 评论 -
上传ipa过慢的解决方式
j宝钢推荐方式,找到路径打开:/etc/hosts 文件打开文件,添加一行17.56.138.14 contentdelivery02.itunes.apple.com然后保存,重新传 速度暴增;第二种是参考ios解决Xcode打包上传ipa文件到AppStore很卡很慢的问题 - 简书目的在于替换com.apple.amp.itmstransporter,然后借助苹果工具Transporter上传ipa,导出ipa很长时间没用了,竟然忘了,参照Xcode10 - 导出ip...原创 2021-12-27 18:00:16 · 2517 阅读 · 0 评论 -
sourcetree打tag
步骤1步骤2步骤3转载 2021-09-14 11:17:42 · 2384 阅读 · 0 评论 -
GitLab中配置SSH key
在继续阅读后续内容前,请自行注册GitLab账号(一般进公司,配置管理员或者组长会给你创建账户的)。由于你的本地Git仓库和GitLab仓库之间的传输是通过SSH加密的,所以,需要以下设置:第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:$ ssh-keygen -t rsa -转载 2021-07-28 15:41:46 · 1614 阅读 · 0 评论 -
Category、load 、initialize
1、category中有load方法吗? load方法什么时候调用的? load方法能继承吗?1、category有load方法2、load方法在runtime类、分类加载的时候调用且只调用一次3、load是可以继承的 一般情况我们不会去主动调用load方法2、Load与initialize的区别是什么? 他们在category中的调用顺序?出现继承是他们的调用过程?调用时机不同load方法在runtime类、分类加载的时候调用且只调用一次 如果出现继承时 在调用子类的lo转载 2021-07-15 10:17:11 · 209 阅读 · 0 评论 -
iOS网络优化
优化清单DNS映射无论是HTTP还是Socket长连接,第一步都是DNS解析。域名根据层级「主机名.次级域名.顶级域名.根域名」去解析,每一级缓存生命周期不同。在iOS设备上几乎每次断网重连,重启设备都会使DNS缓存失效,触发重新查询。这一步的优化对请求的延迟来说至关重要,具体优化手段可参考我之前一篇关于DNS映射的文章,配有可用的demo代码,这里就不复述了。请求压缩DNS查询之后是TCP握手建立连接,并发送请求数据。对于TCP来说,单个IP包大小受限于MSS值,大部分用户所处网络环境下每原创 2021-07-08 14:43:05 · 800 阅读 · 0 评论 -
runloop实践-加载高清大图
runloop在一次渲染中,需要渲染十几张高清大图,所以卡主了解决思路每次Runloop循环,只渲染一张大图!!1.监听Runloop的循环!!2.将加载大图的代码!放在一个数组里面!!3.每次Runloop循环,取出一个加载大图的任务执行!!解决步骤需要用到C语言的框架CFRunLoopRef。FRunLoopRef 是在 CoreFoundation 框架内的,它提供了纯 C 函数的 API,所有这些 API 都是线程安全的。NSRunLoop 是基于 CFRunLoo转载 2021-07-05 15:23:50 · 228 阅读 · 0 评论 -
iOS组件化开发 CocoaPods拆分项目
私有Spec Repo所谓Spec Repo,就是Pods的索引。一旦在podfile中设置source为某个私有repo的git地址,在进行pod update的时候就会去这个repo中进行检索,如果检索到对应的pod,会读取该Pod的podspec从而进行安装。 一个Spec Repo的目录结构如下:Spec Repo 目录之后我们去Github上新建一个相应的Repo地址,之后添加repo到本地。# pod repo add [Private Repo Name] [GitHub原创 2021-06-30 14:11:26 · 199 阅读 · 0 评论 -
GCD中判断线程内容执行完毕
一:信号量信号量是一个整形值并且具有一个初始计数值,并且支持两个操作:信号通知和等待。当一个信号量被信号通知,其计数会被增加。当一个线程在一个信号量上等待时,线程会被阻塞(如果有必要的话),直至计数器大于零,然后线程会减少这个计数。在GCD中有三个函数是semaphore的操作,分别是:dispatch_semaphore_create 创建一个semaphoredispatch_semaphore_signal 发送一个信号dispatch_semaphore_wait 等待信转载 2021-06-29 10:33:54 · 331 阅读 · 0 评论 -
iOS 使用webView实现图文混排
1,第一种 添加加载webview的视图-(void) loadMyWebView{ NSString *title=@"韩寒《后会无期》奇葩的吸金3秘籍"; NSString *linkStr=[NSString stringWithFormat:@"<a href='%@'>我的博客</a> <a href='%@'>原文</a>",@"http://blog.csdn.net/wildcatlele",@"http://jincuod原创 2021-06-28 15:32:40 · 259 阅读 · 0 评论 -
iOS webview保存图片
首先是给UiWebView加一个长按手势。UILongPressGestureRecognizer* longPressed = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressed:)];longPressed.delegate = self;[self.webView addGestureRecognizer:longPressed];接着在手势响应方法里面实现相应转载 2021-06-28 10:40:51 · 697 阅读 · 0 评论 -
如何确定所有的异步请求都完成
有a、b、c、d 4个异步请求,如何判断a、b、c、d都完成执行?如果需要a、b、c、d顺序执行,该如何实现?对于这四个异步请求,要判断都执行完成最简单的方式就是通过GCD的group来实现: dispatch_queue_tqueue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0); dispatch_group_tgroup=dispatch...原创 2021-06-21 16:29:32 · 1199 阅读 · 0 评论 -
Git与SVN区别,各自优缺点
Git优点:1、分布式,每个参与开发的人的电脑上都有一个完整的仓库,不担心硬盘出问题;2、在不联网的情况下,照样可以提交到本地仓库,可以查看以往的所有log,等到有网的时候,push到远程即可;3、非常强大的分支管理功能。4、Git的内容的完整性要优于SVN: GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。Git缺点:权限管理不是很方便,需要安装插件gitolite,配置有点麻烦,或者直接使用gitlab管理。...转载 2021-06-18 11:54:22 · 170 阅读 · 0 评论 -
上架appstore移除模拟器第三方包
为了方便开发者调试,我们使用lipo工具合并了模拟器和真机的架构。所以在上传前AppStore前,必须使用lipo移除模拟器的架构,否则会报错:ERROR ITMS-90087: "Unsupported Architectures. The executable for MyFirst.app/Frameworks/WoyunWebSdk.framework contains unsupported architectures '[x86_64, i386]'."//静态库 路径下直接查看支.原创 2021-06-18 11:29:57 · 627 阅读 · 0 评论 -
IOS 消息传递与消息转发
Method的结构体/// Methodstruct objc_method { SEL method_name; char *method_types; IMP method_imp;};方法名 method_name 类型为 SEL,前面提到过相同名字的方法即使在不同类中定义,它们的方法选择器也相同。 方法类型 method_types 是个 char 指针,其实存储着方法的参数类型和返回值类型,即是 Type Encoding 编码。(即类型编码) .原创 2021-06-15 11:10:49 · 306 阅读 · 2 评论 -
Objective-C消息转发的理解
我们要通过一个小例子来简单、通俗的理解一下什么是消息转发以及如何消息转发,希望看完这篇文章时大家会彻底的明白OC的消息。首先,你需要知道这两个概念:OC中调用方法就是向对象发送消息。比如 :[personrun];这实际上这是在给person这个对象发送run这个消息。那么问题来了,当run这个方法只有定义没有实现会怎么样呢?就是经典的报错***Terminatingappduetouncaughtexception'NSInvalidArgumentExce...原创 2021-06-10 17:12:18 · 139 阅读 · 0 评论 -
链表的倒数第m个节点
方法1:首先遍历链表,统计链表的长度N。然后再次遍历链表,找到第N-m+1个节点,即为倒数第m个节点。方法2:使用两个指针,并使它们指向的节点相距m-1个。然后同时向前移动两个指针,当一个指针指最后一个节点时,第二个指针指向倒数第m个节点。两个方法的复杂度都是O(n)。但是当N较大而m较小时,方法2可能会更快一些。因为方法2能更好利用CPU的缓存。...原创 2021-06-10 15:26:31 · 115 阅读 · 0 评论 -
No account for team “VM8ZLJG6JZ“. Add a new account in the Accounts p
网上下载一个demo,由于证书的原因,一直起不来,报如下错误:No account for team "VM8ZLJG6JZ". Add a new account in the Accounts preference pane or verify that your accounts have valid credentials.No signing certificate "iOS Development" found: No "iOS Development" signing certi.原创 2021-05-19 17:00:28 · 689 阅读 · 0 评论 -
collectionView didSelectItemAtIndexPath 不调用怎么办
在修改原来同事留下的代码,collectionView所有代理都设置了,确保没有任何问题之后但就是不调用collectionView didSelectItemAtIndexPath代理方法;最终发现他在collectionView上添加了UITapGestureRecognizer手势;解决方案:UITapGestureRecognizer手势有个属性tap.cancelsTouchesInView,默认是肯定的,设置为false即可;苹果官方文档如下解释:// default is ..原创 2021-05-18 16:38:42 · 1873 阅读 · 0 评论 -
WKWebView遇到的坑
1、UIWebView 有属性 scalespageToFit,设置为YES,可以自动对页面进行缩放以适应屏幕,WKWebView怎么做可以实现自动缩放网页比例 ?解决办法:使用scrollView的代理//但如果这么写了的话, 需要在dealloc中把代理置nil: _wkWebView.scrollView.delegate = nil;否则会崩溃_wkWebView.scrollView.delegate = self;之前有引用到WKWebview,为使用方便将WKWebvi.原创 2021-04-25 14:11:12 · 1727 阅读 · 0 评论 -
iOS hitTest解决超出父视图范围并响应事件
- (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)eventpoint : 在接收器的局部坐标系(界)中指定的点。event : 系统保证调用此方法的事件。如果从事件处理代码外部调用此方法,则可以指定nil。returnValue : 视图对象是当前视图和包含点的最远的后代。如果点完全位于接收方的视图层次结构之外,则返回nil。该方法的作用 在于 :在视图的层次结构中寻找一个最适合的 view 来响应触摸事件。...原创 2021-04-23 10:23:48 · 1802 阅读 · 0 评论 -
安装Mac OS X虚拟机 编写app程序
没有Mac没有iPhone,怎么配置环境来看下IOS的开发和打包过程。虚拟机就出现了,比较通俗的回答(适合没有电脑基础的朋友) 虚拟机,顾名思义就是虚拟出来的电脑,这个虚拟出来的电脑和真实的电脑几乎完全一样,所不同的是他的硬盘是在一个文件中虚拟出来的,所以你可以随意修改虚拟机的设置,而不用担心对自己的电脑造成损失,因此可以用来做试验什么的,呵呵,差不多就是这样了,不知道我说的能明白不^_^,简单说就是一句话,虚拟出来的电脑,你干什么都行。 比较专业的回答(适合有一点电脑基础的朋友) 虚拟...原创 2021-04-08 14:03:57 · 1567 阅读 · 0 评论 -
TCP/IP 、HTTP、Socket的区别与联系
1、Socket和http的区别http: 如何封装数据;基于TCP协议,简单的对象访问协议,对应于应用层;(货物)tcp协议:数据在网络中的传输;对应于传输层;(卡车)IP协议:对应网络层;数据在网络中的传输(高速公路)TCP/IP:解决数据如何在网络中传输,HTTP:如何包装数据Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。Http连接:http连接就是所谓的短连接,及客户端向服务器转载 2021-04-07 16:20:12 · 332 阅读 · 0 评论 -
iOS 父视图透明度影响到子视图
如果是在self.view上添加子视图的话,下面两种写法会不一样self.view.backgroundColor = [UIColor whiteColor];self.view.alpha = 0.5;这种写法,父视图的透明度会影响到它上面的子视图。跟着一起变得半透明self.view.backgroundColor = [[UIColor whiteColor] colorWithAlphaComponent:0.5];这种写法,父视图的透明度不会影响到它上面的子视图。子视图的透明原创 2021-03-01 15:35:04 · 896 阅读 · 0 评论 -
@autoreleasepool使用场景
在for循环创建了很多局部变量,当遍历次数过多时造成内存急剧增加,崩溃, 可以通过添加@autoreleasepool解决;eg:for (int i = 0; i < 5000000; i++) { NSObject *obj = [[NSObject alloc] init]; // 内存暴增,局部变量没有释放}解决方案for (int i = 0; i < 5000000; i++) { @autoreleasepool { ...原创 2021-02-01 17:13:10 · 1045 阅读 · 1 评论 -
iOS程序前后台监听通知
程序退出到后台,控制器的数据还是会存在的,进入到前台时候 不会走viewWillAppear方法了,很多人这里会误导,只有控制器之间来回跳转会进这个;//哪个控制器需要监听就 写上下面的通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startMonitor) ...原创 2021-01-21 15:41:18 · 1250 阅读 · 0 评论 -
iOS 开发者账号持有人转让最新方式
参考https://www.pianshen.com/article/20461139804/关键几步阅读“Account Holder Transferor Agreement”(帐户持有人转让协议),选中复选框,然后点按“I Agree”(我同意)。被邀请账号持有人操作:1. 收到苹果开发者团队的邮件后打开点击 :Account Holder Transferee Agreement.2. 登录apple id3. 点击 Learn More...转载 2021-01-18 16:06:46 · 2145 阅读 · 0 评论 -
Masonry 手动写代码基本操作
__weak YF_OfflineBuyCardViewController *weakself = self; //距离顶部为10像素的 高度为50的视图 [_view mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(weakself.view); make.right.equalTo(weakself.view); m...原创 2021-01-18 15:39:47 · 168 阅读 · 0 评论