自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(426)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 GitHub上史上最全的iOS开源项目分类汇总

Category/Util sstoolkit一套Category类型的库,附带很多自定义控件 功能不错~    BFKit又一套Category类型的 Kit,还有几个工具类    APUtils又一套Category类型的 Kit  

2016-09-05 14:49:31 3403 3

原创 NSURLSession学习笔记(三)Download Task

NSURLSession的Download Task用于完成下载任务,本文介绍如何创建断点续传的下载任务和后台下载任务。我们直接从分析Demo入手:故事板如下:只有一个View Controller,用于创建各种下载任务,并将下载后的图片显示到视图上,下载过程中会更新下载进度。头文件代码如下:[objc] 

2016-05-17 09:08:59 3482

原创 CoreData数据持久化

CoreData介绍CoreData是一门功能强大的数据持久化技术,位于SQLite数据库之上,它避免了SQL的复杂性,能让我们以更自然的方式与数据库进行交互。CoreData提供数据–OC对象映射关系来实现数据与对象管理,这样无需任何SQL语句就能操作他们。CoreData数据持久化框架是Cocoa API的一部分,⾸次在iOS5 版本的系统中出现,它允许按照实体-属性-值模型组织数

2016-05-12 09:06:19 3924

原创 通读AFN-从创建manager到数据解析完毕

流程梳理今天开始会写几篇关于AFN源码解读的一些Blog,首先要梳理一下AFN的整体结构(主要是讨论2.x版本的Session访问模块):我们先看看我们最常用的一段代码:AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];[manager GET:@"https://www.baidu.com" paramet

2016-05-11 16:15:47 5545 2

原创 国内iOS大牛博客地址

博客地址RSS地址OneV's Denhttp://onevcat.com/atom.xml破船之家http://beyondvincent.com/atom.xmlNSHipsterhttp://nshipster.cn/feed.xmlLimboy 无网不剩http://feeds.feedburner.com/l

2016-05-10 11:04:59 2573

原创 git 使用详解(3)-- 初体验

Git 基础本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。读完本章,你就能初始化一个新的代码仓库,做一些适当配置;开始或停止跟踪某些文件;暂存或提交某些更新。我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件;如何既快且容易地撤消犯下的小错误;如何浏览项目的更新历史,查看某两次更新之间的差异;以及如何从远程仓库拉数据下来或者推数

2016-04-29 10:44:33 4310

原创 iOS图片拉伸技巧

纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能、极强的用户体验、华丽简洁的外观。华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑。比如下面张图片,本来是设计来做按钮背景的: button.png,尺寸为:24x60现在我们把它用作为按钮背景,按钮尺寸是150x50:

2016-04-29 10:28:10 4352

原创 iOS 开发类库

UI项目名称项目信息1、MJRefresh仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。(国人写)2、CBStoreHouseRefreshControl一个效果很酷炫的下拉刷新控件。3、B

2016-04-29 08:28:00 6322

原创 iOS开发系列--地图与定位

现在很多社交、电商、团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的。的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式。例如你到了一个陌生的地方想要查找附近的酒店、超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品。总之,目前地图和定位功能已经大量引入到应用开发中。今天就和大家一起看一下iOS如

2016-04-26 17:18:44 4721 1

原创 GCDAsynSocket之TCP简析

GCDAsynSocket是一个开源的基于GCD的异步的socket库。其中socket队列不能是一个并发的队列,不然读写就乱了。同时这里面初始化了readQueue、writeQueue数组,和一个4K数据缓冲区,后面读写的数据都会先经过这个缓冲区。然后尝试去连接这个地址,中间先会做一些ipv4地址和ipv6地址的转换,接着会并发的发送。方法,就会关闭前面的超时计时器,因为已经建立tcp握手连接。同时在里面会做一个超时计时器,超时时间为一开始传入的时间。一旦收到服务端返回的数据,就会回调到这个方法。

2024-04-11 15:00:53 435 1

原创 最新m2 cocoapods 安装

5. 安装 cocoapods 和其他可能需要的库​。💡PS: 最好使用国内镜像,中科大源​。进 在/Users/电脑名称/目录下。删除 .cocoapods文件夹;2. 安装 homebrew​。选 1 就行,按流程走​。💡按需可能执行​以下操作。0. 如果出错可以删除。删除 .rvm文件夹;4. 安装 ruby​。3. 安装 rvm​。

2023-12-25 14:17:38 649

原创 2023 iOS 八股文

15: HTTPS的握手流程?21: 排序题︰冒泡排序,选择排序,插入排序,快速排序(二路,三路)能写出那些?26: 成员变量ivar和属性property的区别,以及不同关键字的作用。32: 分类(category)和类扩展(extension)的区别。8: class方法和objc_getClass方法有什么区别?34: 字典注意事项:setvalue和setobject的区别。5: Autoreleasepool所使用的数据结构是什么?14: 对称加密和非对称加密的区别?9: 分类和扩展有什么区别?

2023-12-03 19:20:40 605

原创 iOS 三种路由对比(Target-Action,Protocol, URL)

三种经典路由介绍,URL路由,Protocol路由 , Target-Action路由。

2023-10-31 09:38:59 202

原创 系统大前端学习路线

HTML和CSS用来制作网页,利用盒子模型,浮动,定位,flex布局进行网页布局,网页颜色,字体,背景,变换,过渡,动画等增强网页的展示效果。这个阶段的重点是主要是这些:标签、选择器、权重优先级、匹配规则、浮动与清除、BFC、类名组合规则、定位、叠加技巧、伪类、伪元素、盒子模型、布局思路、CSS3选择器、flex布局、em/rem/vw。

2023-10-18 16:02:44 327

原创 iOS-2023面试最新-逆向题-视觉

界面分析。代码分析。动态调试。代码编写。代码注入,重签名,打包。

2023-10-13 17:12:05 1298

原创 IOS开发工程师的发展前景怎么样

现在是互联网时代,在这个浪潮中,只要项目好,技术好, 前景是无限的。 任何行业,只要你用心努力, 就能得到属于自己的财富!据四川北大青鸟ios培训机构讲师称,IOS开发工程师主要从事手机操作系统研发及手机应用软件开发工作(包括手机游戏等各类功能的软件开发)。java课程http://www.kmbdqn.cn/认为一名Windows平台开发工程师要转型为IOS开发工程师,首先要对IOS的系统架构和运行机制有全面而整体的了解。面对iPhone在全球创造的庞大应用市场,应用开发公司开始争抢IOS开发者。另外,由

2023-07-11 14:47:58 626

原创 iOS屏幕旋转

若想当前UIViewController进行屏幕旋转控制,则需要重写UITabBarController和UINavigationController中的屏幕旋转的是三个方法,让其响应当前UIViewController的控制。之后就可以在当前ViewController中,重写这三个属性的get方法,来控制页面页面是否支持屏幕旋转,支持的方向以及初始显示方向。1.当需要横屏时,首先把需要横屏的view从superView中移除,添加到keyWindow上,然后做一个旋转90度的动画。

2023-07-11 14:40:55 1206

原创 腾讯-iOS面试题2面-答案

具体来说,可以创建两个新的链表,分别用于存储比目标值小的结点和比目标值大的结点,然后遍历原链表,将小于等于目标值的结点插入到小链表中,将大于目标值的结点插入到大链表中。否则将其插入到大链表中。另一种更优秀的解决方法是利用链表的性质,假设第一个链表的长度为L1,第二个链表的长度为L2,先分别遍历两个链表,得到它们的长度差d=L1-L2,然后将长链表的头指针向后移动d个结点,使得两个链表的长度相等。MVC中,视图和模型之间的关系是直接的,模型直接将数据传递给视图,因此视图需要了解模型的数据结构和业务逻辑。

2023-04-14 13:39:38 827

原创 腾讯-iOS面试题-答案

虽然ASIHTTP在过去很受欢迎,但现在已经被许多新的网络库所替代,如前面提到的 URLSession、Alamofire、AFNetworking、Moya等,它们使用更现代的编程语言和技术,提供了更好的性能和更丰富的功能。可以修改它的值,可以用valueforkey来解决,显式的的使用self,block外先持有self的弱引用。如果要求空间复杂度为O(1),可以使用数组本身来实现,具体做法是将每个元素放到它应该在的位置上,如果发现某个位置上已经有了相同的元素,则说明存在重复的元素。

2023-04-14 11:26:27 1298 1

原创 Flutter常用指令

注:Flutter 有 3 个发布渠道,分别是 stable、beta 和 master,我们推荐使用 stable 渠道。解决方案:一般是网络问题,想办法文明上网即可【参考:Android关于VPN上网那点事】。

2023-04-14 11:02:35 535

原创 iOS-2023年最新面试题

RunloopRunLoop 的本质是什么? Runloop和线程是什么关系? Runloop的底层数据结构是什么样的?有几种 运行模式(mode)?每个运行模式下面的 CFRunloopMode 是哪些?他们分别是什么职责? Runloop 的监听状态有哪几种? Runloop 的工作流程大概是什么样的? Runloop 有哪些应用? Source0, Source1线程、队列、锁线程、队列的关系? 一个线程是否可能存在于两个队列? 队列一定会创建线程吗? 队列是否可以无限制创建

2023-04-14 11:00:42 2188

原创 Flutter-Scaffold组件

Scaffold组件可以帮我们实现上面需求说的效果。这篇博客主要分享容器组件的Scaffold组件的使用,希望对看文章的小伙伴有所帮助。

2023-03-09 12:34:04 1374

原创 iOS自动化打包

一般自动打包都会专门使用一台 Mac 作为打包机(一般是 Mac Mini,大厂会有专门的打包集群),在打包机上安装 jenkins 用来做自动化构建,关于 jenkins 这块我就不展开讲了,有兴趣的可以去查阅相关资料。测试阶段一般会发生这样的场景,测试拼命的提 Bug,开发拼命的改 Bug,改完重新打包发给测试进行复测,那这个过程中频繁的打包肯定是不可避免的。代码提交后,执行打包目录下的打包脚本,脚本内部需要添加拉取最新代码操作,拉取之后进行打包。jenkins 收到通知后,就会执行配置好的构建任务;

2023-02-22 10:33:04 657

原创 2023最新面试

2. 减小 每一个 commit 代码变动, 使之容易被其他人 review。1. 思考 技术, 对团队, 对项目, 能不能带来收益。2. 自己 大概过一遍 需求, 脑子里 有一个 大概的 **1. 层次, 模块, 接口, 实现, 调用, 想清楚。4. 每一件事情, 独立的 任务跟踪 完成进度。** 自己做的事情, 体现 每一个人的 **2. 鼓励、帮助, 团队成员 清晰 **2. 每一个模块的 更小的点。1. 一定要时刻保持 **** 每个人可能会遇到的 **2. 接收别人的 **3. 倾听别人的 **

2023-02-21 10:43:33 865

原创 Swift Model快速生成

转换网站Model生成。

2023-02-20 15:16:52 310

原创 iOS跳转到设置界面

通用-还原:App-Prefs:root=Reset墙纸:App-Prefs:root=WallpaperSiri:App-Prefs:root=SIRI。定位:App-Prefs:root=LOCATION_SERVICESSafari:App-Prefs:root=SAFARI。照片与相机:App-Prefs:root=PhotosFaceTime:App-Prefs:root=FACETIME...通用-键盘:App-Prefs:root=General&path=Keyboard。

2023-01-16 10:54:02 1358

原创 iOS蓝牙开发:蓝牙的连接和数据的读写

停止中心管理设备的扫描动作,要不然在你和已经连接好的外设进行数据沟通时,如果又有一个外设进行广播且符合你的连接条件,那么你的iOS设备也会去连接这个设备(因为iOS BLE4.0是支持一对多连接的),导致数据的混乱。// NSLog(@"characteristic(读取到的): %@, data : %@, value : %@", characteristic, data, value);// 此时由于枚举属性是NS_OPTIONS,所以一个枚举可能对应多个类型,所以判断不能用 = ,而应该用包含&

2022-10-27 16:26:26 2196

原创 RxSwift安装

RxSwift的github地址RxSwift官方文档RxSwift官方文档中文翻译RxSwift是Swift函数响应式编程的一个开源库,由Github的ReactiveX组织开发、维护RxSwift的目的是让数据/事件流和异步任务能够更方便的序列化处理,能够使用Swift进行响应式编程RxSwift的本质就是观察者模式。

2022-10-13 13:49:40 1024

原创 Flutter开发环境安装MAC

这里/Users/apple/Documents/flutter-sdk/flutter/是我的Flutter安装路径。报告中会显示运行环境存在的一些问题,比如上图中,Xcode和Android Studio没有配置。(支持3.0或更高版本)众所周知的原因,国内访问google服务可能不太顺畅,如果没有vpn环境,可以访问国内镜像。好了,我们的Flutter开发环境已经搭建好了,接下来准备开发Flutter应用吧。注意:Dart SDK已经在捆绑在Flutter里了,没有必要单独安装Dart。

2022-10-12 18:57:08 1091

原创 MAC电脑M1、M2Cocoapods问题

2020年11月11日,苹果正式发布第一款用于Mac的自研电脑芯片M1。由于ARM架构的原因,目前还有相当一部分未升级ARM架构支持的Mac软件无法在M1芯片的Mac电脑上运行。如果你的应用是通用型的应用出现不兼容问题可以「勾选使用 Rosetta 打开」(Intel芯片默认方式)方式运行程序。试了下还是报错,之后使用了下面的命令。

2022-10-12 15:44:44 1607

原创 iOS16新特性及开发适配

iOS 16 满载全新的个性化功能、更具深度的智能技术,以及更多无缝的沟通与共享方式,让 iPhone 的体验更进一步。13、隐私权限增强,如通过 UIDevice 获取设备名称时,无法获取用户的信息,只能获取设备对应的名称。

2022-09-07 10:33:03 8263 2

原创 2022年iOS最新面试(底层基础)问题答案

fafd

2022-09-02 14:32:56 6035

原创 iOS 15相关改动

1、UINavigationBar、UIToolbar 和 UITabBar 设置颜色,图片,模糊效果,需要使用 UIBarAppearance APIs let barApp = UINavigationBarAppearance() barApp.backgroundEffect = UIBlurEffect(style: .regular) self.navigationController?.navigationBar.scrollEdgeApp...

2022-02-18 00:15:00 3519

原创 iOS屏幕旋转技术点及解决方案总结

1.屏幕旋转相关枚举关于屏幕旋转枚举一共有3种:UIInterfaceOrientation, UIInterfaceOrientationMask, UIDeviceOrientation1.1 UIInterfaceOrientation 和 UIDeviceOrientationUIDeviceOrientation是设备当前所处的方向, 它有7个值UIInterfaceOrientation 是屏幕当前所处的方向,它有5个值UIInterfaceOrientatio...

2022-02-17 19:59:04 4659

原创 iOS崩溃日志解析

# !/bin/shINPUTFILE=$1#echo "extension:${INPUTFILE##*.}"DSYM_FILE=""#从目录中查找dSYM文件#参数1:文件路径function findSymbolFileInFolder() { echo $(pwd) for file in `find "$(pwd)"` do extension="${file##*.}" if [ "$extension" == "d...

2022-02-17 19:44:30 1631

转载 iOS跳转到Wi-Fi设置页面

Objective-C 2.0代码- (void)gotoSettings { NSString *urlString = @"App-Prefs:root=WIFI"; NSURL *url = [NSURL URLWithString:urlString]; if ([[UIApplication sharedApplication] canOpenURL:url]) { if (@available(iOS 10.0, *)) { .

2021-05-07 10:45:16 2977

原创 【iOS】swift关键字整理及含义

以“#”开头关键字 字面量 类型 含义 #file String 所在的文件 #function String 所在的方法 #line Int 所在的行 #column Int 所在的列 #if * * #else#elseif * * #endif * * #available * * #selector * * 用在模式中的关键字 ..

2021-04-22 11:18:00 277

原创 2021 iOS开发必备

常用iOS开发网站资源图标 https://icomoon.io/app/#/select http://iconfont.cn/repositories http://www.iconfont.cn UI设计 UI中国:http://www.ui.cn/list.html UI4App:http://www.ui4app.com 技术新闻cocoaChina:http://www.cocoachina.com开发文档appleLibrary:

2021-04-21 15:29:52 304

原创 iOS14开发-动画

介绍动画往往能起到增强用户体验的作用,在 iOS 开发中,我们可以使用 UIKit 提供的动画来实现,简称 UIView 动画。UIView 动画实质上是对 Core Animation(核心动画)的封装,提供简洁的动画 API。普通动画API// 最完整open class func animate(withDuration duration: TimeInterval, delay: TimeInterval, options: UIView.AnimationOptions = []

2021-04-21 15:25:06 707

原创 iOS 教你shell脚本自动化打包

第一步:准备脚本文件,代码如下#工程名(自定义)project_name=你的工程名#打包模式 Debug/Release(自定义)development_mode=Release#scheme名(自定义,一般与工程名相同)scheme_name=你的工程名#plist文件所在路径exportOptionsPlistPath=./ExportOptions.plist#导出.ipa文件所在路径exportFilePath=~/Desktop/$project_name-i...

2021-04-21 10:10:54 431

WW-wave-master.zip

波浪动画,通过正弦函数SharpLayer,和 帧定时器共同实现。 波浪动画,通过正弦函数SharpLayer,和 帧定时器共同实现。

2020-07-24

FaceID.zip

人脸识别,和支付宝的人脸识别效果一样,抓取到人脸,然后在和后台进行交互。

2020-07-24

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

TA关注的人

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