极客学伟的技术分享社区

不积跬步,无以至千里;不积小流,无以成江海。
私信 关注
极客学伟
码龄9年

现任【百度高级研发工程师】,技术狂热爱好者,公众号@极客学伟

  • 1,253,597
    被访问量
  • 414
    原创文章
  • 1,923
    作者排名
  • 465
    粉丝数量
  • 于 2012-09-24 加入CSDN
获得成就
  • 博客专家认证
  • 获得275次点赞
  • 内容获得178次评论
  • 获得702次收藏
  • GitHub 获得434Stars
荣誉勋章
兴趣领域
  • #iOS
    #RxSwift#Flutter#Swift#SwiftUI#Objective-C
TA的专栏
  • ❶ iOS开发
    257篇
  • ❷ 算法和数据结构
    30篇
  • ❸ 设计模式和架构
    15篇
  • ❹ 读书笔记和心得
    6篇
  • ❺ 性能优化
    15篇
  • ❻ 网络
    30篇
  • ❼ 数据库
    16篇
  • ❽ 编程语言-C++
    40篇
  • ❾ 编程语言-Java
    21篇
  • ❿ 编程语言-C语言
    24篇
  • ⑪. iOS修炼之道
    116篇
  • ⑫. Swift 学习进阶
    8篇
  • ⑬ 计算机基础
    3篇
交个朋友
个人技术博客:www.qiuxuewei.com
微信公众号:极客学伟
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

Git-合并两个不同的仓库

Git-合并两个不同的仓库有时候我们需要合并两个不同地址的Git仓库,比如:其中一个仓库A我们在GitHub上部署,另外一个仓库B我们在国内的Coding上部署,两者为同一个工程,如果我们希望将仓库A的所有改动合并到仓库B上。整个操作的思路是伪造伪造其中一个远程仓库作为另一个仓库的一个分支,然后进行分支合并。背景:A仓库地址为:git@github.com:qxuewei/notebook.gitB仓库地址为:git@e.coding.net:qxuewei/notebook/notebook.g
原创
134阅读
0评论
0点赞
发布博客于 2 月前

Java基础课-MySQL语法

MySQL - 基础语法SQLStructured Query Language:结构化查询语言定义了了操作所有关系型数据库的规则SQL 通用语法SQL 语句可以单行或多行书写,以分号结尾可使用空格和缩进来增强语句的可读性MySQL 数据库的SQL语句不区分大小写,关键字建议大写注释:单行注释:-- 注释内容 或 # 注释内容 (MySQL独有)多行注释:/* 注释内容 */SQL 分类DDL(Date Definition Language) 数据库定义语言:定义数据.
原创
2404阅读
1评论
12点赞
发布博客于 9 月前

Java基础课 - 笔记(二)

Java - 基础语法二① 常用 APIObject 类java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。常用 API:public String toString(): 返回该对象的字符串表示public boolean equals(Object obj) : 与其他对象比较...
原创
211阅读
0评论
0点赞
发布博客于 1 年前

Java基础课 - 笔记(一)

Java - 基础语法一① 基础语法JVM(Java Virtual Machine): Java 虚拟机,简称 JVM,是运行所有 Java 程序的假想计算机,是 Java 程序的运行环境,是 Java 最具吸引力的特性之一。我们编写的 Java 程序,都运行在 JVM 之上。JRE(Java Runtime Environment):Java 程序的运行环境,包含 JVM 和运行时所需...
原创
572阅读
0评论
3点赞
发布博客于 1 年前

内存管理、磁盘和文件拾遗

内存管理、磁盘和文件拾遗Part1. 内存管理一个程序的可执行文件在内存中的结果,从大的角度可以分为两个部分:只读部分和可读写部分。只读部分包括程序代码(.text)和程序中的常量(.rodata)。可读写部分(变量)大致可分为下面几个部分:.data:初始化了的全局变量和静态变量.bss:即 Block Started by Symbol,未初始化的全局变量和静态变量heap:堆...
原创
591阅读
0评论
1点赞
发布博客于 1 年前

并发技术、进程、线程和锁拾遗

并发技术、进程、线程和锁拾遗Part1. 多任务计算机发展起初,CPU 资源十分昂贵,如果让 CPU 只能运行一个程序那么当 CPU 空闲下来(例如等待 I/O 时),CPU 资源就会被浪费,为了使 CPU 资源得到更好的利用,先驱编写了一个监控程序,如果发现某个程序暂时无需使用 CPU 时,监控程序就把另外的正在等待 CPU 资源的程序启动起来,以充分利用 CPU资源。这种方法称为 - 多...
原创
740阅读
0评论
1点赞
发布博客于 2 年前

体系结构与操作系统拾遗

体系结构与操作系统拾遗Part1. 体系结构基础1. 冯·诺依曼体系结构计算机处理的数据和指令一律用二进制数表示顺序执行程序计算机运行过程中,把要执行的程序和处理的数据首先存入主存储器(内存),计算机执行程序时,将自动地并按顺序从主存储器中取出指令一条一条地执行,这一概念称作顺序执行程序。计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。2. 数据的机内...
原创
718阅读
1评论
0点赞
发布博客于 2 年前

网络拾遗

网络拾遗Part.1 - HTTP 协议1. HTTP 特性HTTP 协议构建于 TCP/IP 协议之上,是一个应用层协议,默认端口号是 80。HTTP 是无连接无状态的。2. HTTP 报文HTTP 协议是以 ASCII 码进行传输的,建立在 TCP/IP 协议上的应用层规范。规范把 HTTP 分为三个部分:状态行、请求头、请求主体。HTTP 定义了与服务器交互的不同方法,常用的...
原创
394阅读
1评论
1点赞
发布博客于 2 年前

《Objective-C高级编程 iOS与OS X多线程和内存管理》读书笔记

iOS高级编程-iOS与OS+X多线程和内存管理第一章:自动引用计数自己生成的对象,自己所持有。非自己生成的对象,自己也能持有不再需要自己持有的对象时释放非自己持有的对象无法释放对象操作Objective-C方法生成并持有对象alloc/new/copy/mutableCopy等持有对象retain释放对象release废弃对象deal...
原创
255阅读
0评论
0点赞
发布博客于 2 年前

《图解HTTP》读书笔记

《图解HTTP》读书笔记第一章:了解Web及网路基础TCP/IP协议把互联网想关联的协议集合起来总称为TCP/IP协议TCP/IP 协议族按层次分为:应用层,传输层,网络层,数据链路层应用层决定了向用户提供应用服务时通信的活动。TCP/IP 协议族内预存了各类通用的应用服务,比如:FTP 和 DNS 服务就是其中两类HTTP 协议也处于该层传输层传输层对上层应用层,提供处于网络...
原创
8171阅读
8评论
90点赞
发布博客于 2 年前

iOS进阶 - 如何制定一套适合自己团队的 iOS 编码规范?

iOS进阶 - 如何制定一套适合自己团队的 iOS 编码规范?统一的编码规范,能有限的避免团队成员由于代码风格不一致而导致的相互认同感缺失的问题。好的代码规范,需要从如下八个方面进行约束:常量、变量、属性、条件语句、循环语句、函数、类、分类常量在常量的使用上,建议尽量使用类型常量,而不是宏定义。比如定义一个字符串常量,可以写成:static NSString * const kStrin...
原创
421阅读
0评论
4点赞
发布博客于 2 年前

iOS进阶 - iOS如何监控崩溃

iOS进阶 - iOS如何监控崩溃几种常见的崩溃数组越界;给数组添加 nil;多线程问题: 在子线程更新UI, 不同线程操作同一个数据。主线程无响应:主线程超过系统规定时间无响应就会被 Watchdog 杀掉。野指针:指针指向一个已删除的内存区域会出现野指针崩溃。KVO 问题后台任务超时iOS 后台保活的五种方式1. Background ModeApp 审核时会提高对 A...
原创
1748阅读
1评论
14点赞
发布博客于 2 年前

iOS进阶 - 包大小:如何从资源和代码层面实现全方位瘦身

iOS进阶 - 包大小:如何从资源和代码层面实现全方位瘦身官方 App ThinningApp Thinning 是由苹果公司推出的一项可以改善 App 下载进程的新技术,主要为了解决用户下载 App 耗费过高流量的问题,同时还可以节省用户 iOS 设备的存储空间。App Thinning 会专门针对不同的设备来选择只适用于当前设备的内容以供下载。比如,iPhone 6 只会下载 @2x 分...
原创
922阅读
0评论
1点赞
发布博客于 2 年前

iOS进阶 - 链接器:符号是怎么绑定到地址上的?

iOS进阶 - 链接器:符号是怎么绑定到地址上的?链接器的作用就是将符号绑定到地址上。iOS 为什么使用编译器iOS 编写的代码是先使用编译器将代码编译成机器码,然后在 CPU 上执行机器码,直接在 CPU 上执行机器码,之所以不用解释器运行代码是因为Apple希望 iPhone 的执行效率更高,运行速度能达到最快。为什么运用解释器运行代码速度不够快呢?因为解释器会在运行时解释执行代码,...
原创
978阅读
0评论
0点赞
发布博客于 2 年前

iOS进阶 - 组件化架构设计

iOS进阶 - 组件化设计探究组件化架构的设计需要解决三个主要问题:模块粒度如何划分如何分层多团队如何协作模块粒度如何划分模块粒度划分需遵循五个原则:单一功能原则:对象功能要单一,不要在一个对象里添加很多功能开闭原则:扩展是开放的,修改是封闭的里式替换原则:子类对象时可以替代基类对象的接口隔离原则:接口的用途要单一,不要在一个接口上根据不同入参实现多个功能依赖反转原则:...
原创
318阅读
0评论
0点赞
发布博客于 2 年前

iOS进阶 - AutoLayout 是如何自动布局的,性能如何?

iOS进阶 - AutoLayout 是如何自动布局的,性能如何?AutoLayout 是iOS6引入到系统中的,在 WWDC2018 中苹果介绍 iOS 12 将大幅提高 AutoLayout 的性能。AutoLayout 的生命周期AutoLayout 不只有布局算法 Cassoway,还包含了布局在运行时的生命周期等一整套布局引擎系统,用于统一管理布局的创建、更新和销毁。这一整套...
原创
1594阅读
0评论
0点赞
发布博客于 2 年前

iOS进阶 - App启动优化

iOS进阶 - App启动优化App启动三个阶段main() 函数执行前main() 函数执行后首屏渲染完成后main() 函数执行前加载可执行文件(App的 .o 文件的集合)加载动态链接库,进行 rebase 指针调整和 bind 符号绑定Objc 运行时的初始处理,包括 Objc 相关类的注册、category 注册、selector 唯一性检查等初始化,包括了执行 ...
原创
333阅读
0评论
0点赞
发布博客于 2 年前

iOS - 最易用的数据库工具类 `XWDatabase` 开源

iOS - 最易用的数据库工具类 XWDatabase 开源XWDatabase 将数据库操作简化到难以想象的程度,你甚至不需要知道数据库的存在,当然更不需要写 SQL 语句,你只需要直接操作模型即可对模型进行增删改查的操作,她会根据模型动态在数据库中创建以当前模型类名为名称的数据库表,当然你也可以自定义表名;她会根据模型的成员变量和成员变量的类型动态进行字段的设计,有多少成员变量,表中自然就会...
原创
722阅读
0评论
2点赞
发布博客于 3 年前

iOS底层原理 - 常驻线程

iOS底层原理 - 常驻线程在 AFN 2.0 时代,会经常看到 AFN 创建一个常驻线程的方式:0️⃣ AFN 2.0 时代的常驻线程+ (NSThread *)networkRequestThread { static NSThread *_networkRequestThread = nil; static dispatch_once_t oncePredicate;...
原创
1188阅读
0评论
0点赞
发布博客于 3 年前

iOS底层原理-KVO本质探究

iOS底层原理-KVO本质探究先说结论,KVO 的本质:在对一个已知类的某个属性进行 KVO 监听时,系统会在运行时动态创建一个已知类的子类 NSKVONotifying_某类名,并在子类实现 setter 方法,set方法实现内部会顺序调用willChangeValueForKey 方法、原来的 setter 方法实现、didChangeValueForKey 方法,而 didChangeV...
原创
477阅读
0评论
0点赞
发布博客于 3 年前

《Effective Objective-C 2.0》读书/实战笔记 三

《Effective Objective-C 2.0》读书/实战笔记 三《Effective Objective-C 2.0》读书/实战笔记 一《Effective Objective-C 2.0》读书/实战笔记 二第6章:块与大中枢派发第37条:理解“块”这一概念块 是C、C++、Objective-C 中的语法闭包块 可接受参数,也可返回...
原创
508阅读
0评论
0点赞
发布博客于 3 年前

《效率 - Mac 高效开发》

效率 - Mac 高效开发1.安装 Mac 包管理工具 HomeBrew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"brew install wget # 安装 wget 工具brew cask install wecha...
原创
1025阅读
0评论
1点赞
发布博客于 3 年前

《Effective Objective-C 2.0》读书/实战笔记二

《Effective Objective-C 2.0》读书/实战笔记 二第3章:接口与API设计第15条:用前缀避免命名空间冲突选择与你的公司,应用程序或两者皆有关联之名称作为类名的前缀,并在所有代码中均使用这一前缀若自己所开发的程序库中用到了第三方库,则应为其中的名称加上前缀顾名思义就是说在自己开发的类需要加前缀,iOS~~程序员~~开发工程师普遍使用双...
原创
833阅读
0评论
0点赞
发布博客于 3 年前

《Effective Objective-C 2.0》读书:实战笔记一

《Effective Objective-C 2.0》读书/实战笔记 一第1章:熟悉Objective-C���� 第1条:了解 Objective-C 语言的起源Objective-C 为C语言添加了面向对象的特性,是其超级。Objective-C 说那个动态绑定的消息结构,也就是说,在运行时才检查对象类型。接收一条消息之后,究竟应执行何种代码,由运行期环境而非编译器来决定...
原创
2091阅读
0评论
0点赞
发布博客于 3 年前

iOS 一行代码集成微信浮窗功能

XWFloatingWindow一行代码集成微信浮窗功能1. 效果2. 使用在需要浮窗展示的地方调用:// self 为需要浮窗展示的控制器[XWFloatingWindowView showWithViewController:self];现在你的控制器就已经集成微信浮窗功能了��其他方法1. 当然你可能需要知道当前控制器是否在浮窗内展示...
原创
3627阅读
0评论
1点赞
发布博客于 3 年前

算法-判断一个字符串是否是ip地址?

算法-判断一个字符串是否是ip地址?如何判断一个IP是否是合法的IP,如输入:192.168.1.0,输出:合法;输入192.168.1.1222,输出:非法。首先明确IP的格式:(1~255).(0~255).(0~255).(0~255)下面使用两种不同的方式进行验证:方案一为字符串处理,方案二为正则表达式处理方案一:使用字符串判断- (BOOL)ipIsValid...
原创
6831阅读
1评论
1点赞
发布博客于 3 年前

iOS - 多线程的锁

iOS 中常见的几种锁介绍-示例常用的各类锁性能比较文中Demo 均实现在 XWInterviewDemos1. iOS中的互斥锁 在编程中,引入对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为“互斥锁”的标记,这个标记用来保证在任一时刻,只能有一个线程访问对象。1.1 @synchronized (self)- (void)l...
原创
618阅读
0评论
0点赞
发布博客于 3 年前

iOS-性能优化深入探究

上图是几种时间复杂度的关系,性能优化一定程度上是为了降低程序执行效率减低时间复杂度。 如下是几种时间复杂度的实例:O(1)return array[index] == value;O(n)for (int i = 0, i < n, i++) { if (array[i] == value) return YES;}O(n...
原创
2813阅读
1评论
2点赞
发布博客于 3 年前

iOS底层原理 - Block本质探究

iOS底层原理 - Block本质探究本质block 本质是一个OC对象,也存在 isa 指针。或者说Block 是封装了函数调用和函数调用环境的OC对象。1.底层实现编写一段最简单的OC代码顶一个block,代码如:int main(int argc, const char * argv[]) { @autoreleasepool { in...
原创
945阅读
0评论
0点赞
发布博客于 3 年前

数据结构与算法 - 单链表逆转

数据结构与算法 - 单链表逆转单链表逆转输出方案一:head 作为已知首节点,最后节点指向null, 使用三个指针便利链表,逐个节点进行反转实现思路图解: 实现代码:struct ActList { ActList * next;};ActList * reverseList(ActList * head) { if (head ...
原创
3391阅读
0评论
6点赞
发布博客于 3 年前

iOS 手势操作和事件传递响应链

iOS 手势操作和事件传递响应链概述iOS中的事件可以分为3大类型:触摸事件、加速计事件、远程控制事件。 在我们点击屏幕的时候,iphone OS获取到了用户进行了“单击”这一行为,操作系统把包含这些点击事件的信息包装成UITouch和UIEvent形式的实例,然后找到当前运行的程序,逐级寻找能够响应这个事件的对象,直到没有响应者响应。这一寻找的过程,被称作事件的响应链。Hi...
原创
5161阅读
1评论
1点赞
发布博客于 3 年前

iOS底层原理探究- NSObject 内存大小

iOS底层原理探究- NSObject 内存大小面向对象的Objective-C我们平时写的 OC 代码底层实现为 C/C++ 代码,因为 Runtime 让 OC 具备了面向对象的特点,而后底层的 C/C++ 会转换成底层的 汇编 代码,最终被被解析成计算机能识别的 机器语言 。而 OC 中的类,正是正是基于 C/C++ 的结构体实现的。我们可以通过 clang 命令将我们平时所写...
原创
1292阅读
0评论
0点赞
发布博客于 3 年前

Swift-Realm数据库的使用详解

Swift-Realm数据库的使用详解概述Realm 是一个跨平台的移动数据库引擎,其性能要优于 Core Data 和 FMDB - 移动端数据库性能比较, 我们可以在 Android 端 realm-java,iOS端:Realm-Cocoa,同时支持 OC 和 Swift两种语言开发。其使用简单,免费,性能优异,跨平台的特点广受程序员GG喜爱。Realm 中文文档...
原创
5304阅读
2评论
2点赞
发布博客于 3 年前

iOS开发之 Autolayout 详解

iOS开发之 Autolayout 详解1. 概述Autolayout 是 Apple 自 iOS6 开始引入的旨在解决不同屏幕之间布局适配的技术苹果官方推荐开发者使用 Autolayout 进行UI界面的布局Autolayout 有两个核心概念:1. 参照。 2. 约束使用Autolayout的注意点: 添加约束之前需要保证控件已被添加到父控件中不需要再给View设置...
原创
2907阅读
1评论
0点赞
发布博客于 3 年前

iOS CALayer 详解

iOS CALayer 详解1. 概述在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView,其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层:@p...
原创
733阅读
0评论
0点赞
发布博客于 3 年前

iOS 多线程详解

iOS 多线程详解Slogan : 可能是最通俗易懂的 iOS多线程 详细解析文章1. 基础概念1.1 进程进程是计算机中已运行程序的实体,是线程的容器维基百科-进程。每个进程之间是相互独立的,每个进程均运行在器专用且收保护的内存空间内。 把工厂作为一个系统,进程类似于车间。1.2 线程线程是操作系统能够进行运算调度的最小单位维基百科-线程。一个进程的所有...
原创
696阅读
0评论
0点赞
发布博客于 3 年前

iOS 自动归解档

iOS 数据库工具类分享基于 对 FMDB 框架的封装,实现通过模型操作数据库的功能,不需要手写SQL语句,只要传入一个Model,框架会自动将Model内数据保存到指定数据库中, 并且会自动创建数据库,自动创建模型对应的表。项目地址XWSqliteTool功能列表根据 Model 动态建表若 Model 内字段发生变化自动进行表结构迁移传入 Model 自动将 Mo...
原创
791阅读
0评论
0点赞
发布博客于 3 年前

iOS - 基础集合类

iOS基础集合类NSArray排序- (NSEnumerator<ObjectType> *)objectEnumerator;- (NSEnumerator<ObjectType> *)reverseObjectEnumerator;- (NSArray<ObjectType> *)sortedArrayUsingFunction:...
原创
420阅读
0评论
0点赞
发布博客于 3 年前

iOS - Runloop 详解

Runloop1. 概述一般来说,一个线程只能执行一个任务,执行完就会退出,如果我们需要一种机制,让线程能随时处理时间但并不退出,那么 RunLoop 就是这样的一个机制。Runloop是事件接收和分发机制的一个实现。RunLoop实际上是一个对象,这个对象在循环中用来处理程序运行过程中出现的各种事件(比如说触摸事件、UI刷新事件、定时器事件、Selector事件),从而保持程序的...
原创
1603阅读
0评论
2点赞
发布博客于 3 年前

iOS - Runtime 详解

Runtime0. 概述Objective-C Runtime 使得C具有了面向对象的能力,在程序运行时创建,检查,修改类,对象和它们的方法。Runtime 是 C和汇编写的,这里http://www.opensource.apple.com/source/objc4/可以下载Apple维护的开源代码,GUN也有一个开源的Runtime版本,它们都努力保持一致。Apple官方的runt...
原创
384阅读
0评论
0点赞
发布博客于 3 年前

"如何成为有效学习的高手" 学习笔记

<<如何成为有效学习的高手>> 学习笔记前言高效学习的定义是找到适合自己的学习方法,在最短的时间里能够集中注意力,以解决生活或工作中的一个任务为目的着手学习. 需要勤加练习,必要的时候要向名师求助! 这其中有七个关键点: 1. 适合自己 2. 学习方法 3. 最短时间 4. 注意力 5. 解决任务 6. 设定目标 7. 名师1.找到适合自...
原创
4584阅读
5评论
6点赞
发布博客于 3 年前

2018年1月iOS招人心得(附面试题)- 答案整理

2018年1月iOS招人心得(附面试题)- 答案整理基础不牢,地动山摇. 面试问的大多都是开发所必备的基础知识,通过面试题整理自己的技术栈是一个非常不错的途径. 这套面试题可作为开发同仁的一份复习提纲, 整理过程中自己进行查漏补缺. 1.技术基础1、为什么说Objective-C是一门动态的语言? 这里的动态和静态是相对的,动态的意思是不需要在编译时确定所有的东西,在运行时...
原创
9360阅读
1评论
2点赞
发布博客于 3 年前

iOS-压缩包解压工具类分享

开源地址: https://github.com/qxuewei/XWZipTool可在APP内将压缩包解压到指定沙盒路径XWZipTooliOS 解压缩工具类轻量级加压缩工具类导入XWZipToolBuild Phases -> Compile Sources -> ZipArchive.m 添加 -fno-objc-arc解压 (无密码或有密码zip压缩包) /** 压缩包解压 @p
原创
1362阅读
0评论
0点赞
发布博客于 4 年前

iOS 代码规范

一、命名规范1、统一要求含义清楚,尽量做到不需要注释也能了解其作用,若做不到,就加注释,使用全称,不使用缩写。2、类名大驼峰式命名:每个单词的首字母都采用大写字母==例:== MFHomePageViewController3、私有变量私有变量放在 .m 文件中声明 以 _ 开头,第一个单词首字母小写,后面的单词的首字母全部大写。==例:== NSString *_somePrivateVaria
转载
1046阅读
0评论
0点赞
发布博客于 4 年前

iOS- JSPatch 热更新

即便现在苹果努力优化他的审核部门,将审核速度提升到尽可能不可思议的一天或两天通过审核,但是对于想随意控制app实时更新的公司而言,这显示是不够的,热更新应运而生..JSPatch -> JSPatch github 链接也许也有很多人觉得这是个很高大上的技术,其实不然,我们只需要在项目里引入极小的引擎文件,就可以使用 JavaScript 调用任何 Objective-C 的原生接口,替换任意
原创
901阅读
0评论
1点赞
发布博客于 4 年前

iOS-测试用例测试数组"firstObject"以及"lastObject"性能

在开发中数组可以说是最常用到的数据结构了,无论是存储对象还是获取沙盒目录数组中文件路径,会经常用到数组的两个对象方法: 即 [xx数组 firstObject] 和 [xx数组 lastObject]. 譬如获取沙盒中cache文件夹路径[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) fi
原创
2711阅读
0评论
0点赞
发布博客于 4 年前

CocoaPods-远程私有(公开)库创建与更新-多分支开发

使用cocoaPods结合git源代码管理工具可以轻松实现项目组件化,多分支开发,下面记录使用过程中命令以作备忘.CocoaPods-远程私有(公开)库创建与更新-多分支开发使用cocoaPods结合git源代码管理工具可以轻松实现项目组件化,多分支开发,下面记录使用过程中命令以作备忘. 以开发一个轮播器组件为实例,一步步演示组件化开发过程.由于不是公司项目,并且本着开源分享精神.所有源代码和远程
原创
5168阅读
1评论
0点赞
发布博客于 4 年前

iOS-Swift 面向协议编程/组件化(模块化)编程思想

转载注明出处:http://blog.csdn.net/qxuewei/article/details/53945445 因为OC 的局限性, 使得iOS 开发组件化编程变得不可能,得益于面向对象语言的特性 (封装,继承,多态) 在我们熟悉的设计模式中渐渐形成统一的软件开发思想. 在抽取某些功能作为基类的不断运用中,代码的可移植性逐渐减弱. 就如同一棵树,从主干到各个分支,每个分支再长成细枝
原创
8305阅读
0评论
3点赞
发布博客于 4 年前

iOS-直播中粒子效果

转载注明出处: http://blog.csdn.net/qxuewei/article/details/53942647粒子效果的应用场景: 主播房间右下角粒子动画 雪花/下雨/烟花等效果 QQ生日快乐一堆表情的跳动常规实现方法:// 添加粒子效果 func addParticleEffect() { // 1.创建发射器 let emitter =
原创
2870阅读
0评论
2点赞
发布博客于 5 年前

iOS-右滑返回,利用Runtime添加全屏Pop手势

转载请注明出处:http://blog.csdn.net/qxuewei/article/details/53939129项目中经常会遇到类似需求,需要在某控制器增加全屏右滑返回功能. 在我们不隐藏 NavigationBar 的前提下,系统会自动替我增加此功能,只是它作用的范围仅仅在屏幕左边有限区域. 我们需要在整个界面添加右滑返回的功能 思路: 利用Runtime 捕获到 系统的全屏Pop手
原创
1951阅读
0评论
0点赞
发布博客于 5 年前

iOS-更改状态栏背景和文字颜色(OC + Swift3)

更改状态栏背景使用runtime和KVC直接修改,文字颜色直接使用属性修改OC版本://// ViewController.m// StatusBarDemo//// Created by 邱学伟 on 2016/12/20.// Copyright © 2016年 邱学伟. All rights reserved.//#import "ViewController.h"@int
原创
5581阅读
1评论
2点赞
发布博客于 5 年前

iOS-Swift3瀑布流布局开源

在项目中偶尔会用到瀑布流的布局,目前多数直播类软件,信息展示类软件等 接下来分析一种简单的实现方法,利用swift3实现.在实现这种瀑布流首先想到的是使用UICollectionView实现,类似于不规则的流水布局.我们可以通过自定义 UICollectionViewFlowLayout ,将collectionView的item通过我们想要的格式显示核心代码: 自定义UIColl
原创
2703阅读
0评论
0点赞
发布博客于 5 年前

iOS-Swift3富文本(UILable文本图文混排)

介绍下iOS开发中常用的符文布图文混排 需求: 邱学伟是大帅哥(加个笑脸图片) 邱学伟:红色背景绿色字体加粗显示 是:蓝色字体 10号小字体 大帅哥:灰色42号字体 UILabel中显示结果: 原谅我跟哥们开玩笑起的low爆了的项目名 核心代码://需求 邱学伟是大帅哥(加个笑脸图片) 邱学伟:红色背景绿色字体加粗显示 是:蓝色字体 10号小字体 大帅哥:灰色
原创
9181阅读
0评论
1点赞
发布博客于 5 年前

iOS-Swift3 监听UITextView文字改变

在项目中使用文本输入框出UITextField之外还会经常使用 UITextView ,难免会有需求监听UITextView文本框内文本数量.下面介绍在swift3中两种常用方式方式一: 全局通知1.注册通知 在合适位置注册监听UITextView文本变化的全局通知 //UITextView 监听开始输入的两种方法 //方法一:通知 NotificationCent
原创
3408阅读
0评论
0点赞
发布博客于 5 年前

iOS-CocoaPod升级cocoapods1.2.0 (适配swift3)

CocoaPods 1.1.0+ is required to build SnapKit 3.0.0+.在swift3以后很多github框架需要在cocoapods1.1.0以后版本环境下才能正常使用,比如SnapKit . 我的cocoapods 依然是原始的 0.39.0 版本,俨然跟不上时代的进步. $ pod –version 0.39.0故记录升级cocoapods1.
原创
3918阅读
0评论
2点赞
发布博客于 5 年前

iOS/Xcode-出错解决方案集锦

subsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enabl
原创
694阅读
0评论
0点赞
发布博客于 5 年前

Git-出错解决方案集锦

Xcode: “The working copy __ has uncommitted changes” vs. git status: “nothing to commit, working directory clean”解决方案: 1.Open terminal - cd / to your project directory. 2.Type in: “git reset –hard”
原创
803阅读
0评论
0点赞
发布博客于 5 年前

iOS-SQLite在项目中实际使用(Swift3)

转载请注明出处:http://blog.csdn.net/qxuewei/article/details/52909411创建数据库管理类SQLiteManager设置类方法创建单例对象 Swift 中单例对象可以直接输出定义的自身类内的成员变量. class SQLiteManager: NSObject { //MARK: - 创建类的静态实例变量即为单例对象 l
原创
7734阅读
0评论
2点赞
发布博客于 5 年前

iOS-SQLite在项目中实际使用(Objective-C)

实际开发中,掌握并熟练使用SQLite数据库对app内数据进行操作是移动开发人员至关重要的技能,iOS中封装的coreData固然也是对SQLite的二层封装,强大的https://github.com/ccgus/fmdb‘>FMDB也会帮程序员减轻很多不必要的麻烦,提高工作效率,既然是封装.性能自然不如直接操作SQL语句创建数据库管理类SQLiteManager设置类方法创建单例对
原创
8996阅读
2评论
1点赞
发布博客于 5 年前

SQLite数据库常用操作

SQLiteSQLite是一款轻型的嵌入式关系数据库 它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了 目前广泛应用于移动设备中存储数据(Android/iOS/WP等) 处理数据的速度非常快,效率非常高关系数据库的特点一个 字段(COL) 存储一个值,类似于对象的一个属性 一 行(ROW) 存储一条记录,类似于一个对象 一个 表(TABLE) 存储一系列数据
原创
1483阅读
1评论
1点赞
发布博客于 5 年前

iOS-Swift3常用语法

转载请注明出处:http://blog.csdn.net/qxuewei/article/details/52862160常量和变量在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量 使用let来定义常量,定义之后不可以修改 使用var来定义变量,定义之后可以修改//定义标示符表明是变量还是常量!//let 常量let age : Int = 24//var
原创
4198阅读
0评论
0点赞
发布博客于 5 年前

JS-数组去除重复数据算法

在JS中经常会遇到去除数组中重复数据的需求,在此介绍四种算法以实现JS数组去重的功能.1.速度最快算法:对象键值对法实现思路:新建一js对象以及新数组,遍历传入数组时,判断值是否为js对象的键,不是的话给对象新增该键并放入新数组。//注意点: 判断 是否为js对象键时,会自动对传入的键执行“toString()”,不同的键可能会被误认为一样;例如: a[1]、a["1"] 。解决上述问题还是得调用“
原创
5438阅读
0评论
2点赞
发布博客于 5 年前

iOS-Xcode上传后iTunes Connect构建版本不显示

在升级到Xcode8版本以后大多数人会碰到这个问题-开开心心开发好一款app以后上传到iTunes后台提交审核,然而iTunes Connect后台活动栏里没有出现我们上传的app,确切的说是显示一会儿之后平白无故的消失,也不见Apple的邮件告知原因,只能借助强大的网络和那些具有分享精神的巨人! 各种谷歌百度后找到解决方法,因为iOS10以后Apple更注重保护用户权限,在任何需要使用设备权限的
原创
16327阅读
10评论
6点赞
发布博客于 5 年前

iOS-计时器

在iOS开发中定时器的实现有三种方式:NSTimer、CADisplayLink、GCDGCD://GCD-(void)GCDMethod{ timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_main_queue()); //每2秒执行一次,误差在1秒以内 dispat
原创
1459阅读
0评论
0点赞
发布博客于 5 年前

HTML5-CSS总结

什么是CSS CSS的全称是Cascading Style Sheets,层叠样式表 它用来控制HTML标签的样式,在美化网页中起到非常重要的作用CSS的编写格式是键值对形式的,比如 color: red; background-color: blue; font-size: 20px; 冒号:左边的是属性名,冒号:右边的属性值 类似于iOS中的字典CSS有3种书写形式 1.行内样式
原创
878阅读
0评论
1点赞
发布博客于 5 年前

HTML5-常用标签

无论是当前火爆互联网朋友圈的微信小程序还是逐渐增多的原生内置的H5界面,毋庸置疑,HTML5前端的技术会更多的得到移动开发程序员的青睐,也必将成为一项移动开发所必备的技能,你做移动开发说对H5,CSS,JS等这些web前端技术只是一个初步的了解难免会说不过去. 对HTML5技术的归纳总结以及分享必须马上提上日程,做开发注定会是一个不断学习,不断完善自己的过程.保持激情,持续努力! 当前手机APP
原创
835阅读
0评论
3点赞
发布博客于 5 年前

iOS-ReactiveCocoa常见宏

ReactiveCocoa常见宏。1 RAC(TARGET, [KEYPATH, [NIL_VALUE]]):用于给某个对象的某个属性绑定。基本用法//1.`RAC(TARGET, [KEYPATH, [NIL_VALUE]])`:用于给某个对象的某个属性绑定。 RAC(self.label,text) = self.textField.rac_textSignal; //相当于:
原创
1616阅读
0评论
0点赞
发布博客于 5 年前

iOS-ReactiveCocoa

以作用为导向去学习一类新技能,首先了解这个是用来做什么的?首先ReactiveCocoa在github上的截图它的星星相当多,然后它的维护也很勤,更新频率挺高ReactiveCocoa开发中常见用法。在我们iOS开发过程中,当某些事件响应的时候,需要处理某些业务逻辑,这些事件都用不同的方式来处理。 比如按钮的点击使用action,ScrollView滚动使用delegate,属性值改变使用KVO等
原创
977阅读
0评论
0点赞
发布博客于 5 年前

iOS-获取蓝牙Mac地址

多谢MacPu大神的分享,原文下载地址: http://blog.csdn.net/macpu/article/details/49805763/主要思路虽然苹果官方的API没有获取Mac地址的方法,但是当我翻看蓝牙的文档的时候,我发现蓝牙有提供一个设备信息的service[service UUID:0x180A],里面提供了两个characteristic:获取芯片的Mac地址(0x2A23 )
转载
9711阅读
0评论
2点赞
发布博客于 5 年前

iOS-链式编程

链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。a(1).b(2).c(3)链式编程特点:方法的返回值是block,block必须有返回值(本身对象),block参数(需要操作的值)代表:masonry框架。BabyBluetooth Masonry中的链式可能相对比较零散,并不能体现出链式的任务逻辑连贯性。下面介绍另外一个优秀的第三方框架Bab
原创
1113阅读
0评论
0点赞
发布博客于 5 年前

iOS-const/static/宏/extern

const,static,extern简介一、const与宏的区别:const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量。 执行时刻:宏是预编译(编译之前处理),const是编译阶段。编译检查:宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误。宏的好处:宏能定义一些函数,方法。 const不能。宏的坏处:使用大量宏
原创
668阅读
0评论
0点赞
发布博客于 5 年前

iOS-自动生成模型属性代码

在项目中经常会遇到将网络请求下的JSON字典转化成自定义模型的情况,通常模型的属性名跟字典中的Key值一一对应,如果仅仅通过复制粘贴的方法效率会很差,所以可以根据如下介绍的自动生成属性的代码提高工作效率设计模型:字典转模型的第一步 模型属性,通常需要跟字典中的key一一对应 问题:一个一个的生成模型属性,很慢? 需求:能不能自动根据一个字典,生成对应的属性。 解决:提供一个分类,专门根据字
原创
4428阅读
2评论
0点赞
发布博客于 5 年前

iOS-Runtime

一、runtime简介RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。事实证明: 在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不会
原创
1057阅读
0评论
0点赞
发布博客于 5 年前

iOS-泛型(nullable/null_resettable/__kindof用法)

iOS9新出的关键字:用来修饰属性,或者方法的参数,方法的返回值 iOS9新出关键字nonnull,nullable,null_resettable,_Null_unspecified 需要注意的一点只能修饰对象,不能修饰基本数据类型. 虽然在项目的代码编写中不会经常用到,不过在调用苹果系统方法的时候还是会经常遇到,需要做一个总结nullable作用:表示可以为空 nullable书写规
原创
2204阅读
0评论
0点赞
发布博客于 5 年前

iOS-XML文件解析(原生NSXMLParser和GDataXML两种解析方式)

XML文件解析常用的两种方式一种为苹果原生的NSXMLParser,另外一种为第三方GDataXML1.原生的NSXMLParser方式://*利用 NSXMLParser 方式-(void)XMLParserWithData:(NSData *)data{ //1.创建NSXMLParser NSXMLParser *XMLParser = [[NSXMLParser alloc
原创
8201阅读
1评论
1点赞
发布博客于 5 年前

iOS-Github上托管本地项目

有时候玩github难免会踩坑,记录一笔流水账,完整的讲述一个项目在geihub上从无到有的过程-> 1.github后台新建项目 2.配置项目 3.上传本地已经存在的项目即需要托管的项目 3.1在终端 cd 到项目所在文件夹内 3.2 gitinit(初始化一个本地的git仓库)3.3 git init (初始化一个本地的 git仓库) 3.3 touch README
原创
1332阅读
0评论
0点赞
发布博客于 5 年前

iOS-边框图片,头像边框

项目中偶尔会有带边框图片的需求,或是头像亦或是logo.在原型图片外围加一自定义颜色的边框,思路是根据上下文绘制,写了Demo和解释. 带边框的图片Demo:-(void)borderImage{ //1.加载图片 UIImage *image = [UIImage imageNamed:@"baby"]; //2.边框宽度 CGFloat borderW = 10
原创
3616阅读
0评论
0点赞
发布博客于 5 年前

iOS-调整UIButton的title和image的位置

调整原生UIButton中title和image位置仅需调用此方法:/** * 重新布局UIbutton * * @param button 所布局的UIbutton */-(void)layoutBtnWithBtn:(UIButton *)button{ button.titleLabel.backgroundColor = button.backgroundColor;
原创
3748阅读
2评论
0点赞
发布博客于 5 年前

iOS-Quartz2D画图

常说温故而知新,时隔这么久再次看这些基础内容仍然很兴奋!把敲的代码分享出来,希望能对读者提供一丁点启发/** * 裁剪圆形图片 */-(void)circleIcon{ UIImage *image = [UIImage imageNamed:@"baby"]; UIGraphicsBeginImageContext(image.size); UIBezierPath
原创
2772阅读
0评论
0点赞
发布博客于 5 年前

iOS-悬浮按钮

在项目中可能会有这种需求,即在一个界面最顶层需要一个按钮,这个按钮可能是发布信息功能,也可能是回到顶部.这样我们可以使用UIwindow这个神奇的控件实现,很简单.完整项目源码: https://github.com/qxuewei/XWSuspendBtn最终实现效果如下: 实现逻辑: 1.在需要出现悬浮按钮的类中声明按钮UIButton属性和UIWindow属性/** window */
原创
5945阅读
0评论
0点赞
发布博客于 5 年前

iOS-FMDB事务操作SQLite数据库

批量操作数据库的时候,我们经常会用到事务处理。事务是访问并可能更新数据库各种数据项的数据单元(unit),是恢复和并发的控制的基本单位。事务具有四个属性。 - 原子性(atomicity):一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。 - 一致性(consistency):事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
原创
4092阅读
0评论
1点赞
发布博客于 5 年前

iOS-Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be complet

在用AFN获取的JSON字符串中可能会报如上错误,原因是json数据当中有
\r \t 等制表符。由于标准的json解析是不允许有这几个制表符的。所以在解析之前我们需要把这几个制表符给过滤掉。NSString * responseString = [request responseString]; responseString = [responseString stringByRe
原创
1559阅读
0评论
0点赞
发布博客于 5 年前

iOS-JSON字符串转NSDictionary / 字典转JSON字符串

/** * JSON字符串转NSDictionary * * @param jsonString JSON字符串 * * @return NSDictionary */+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString { if (jsonString == nil) { re
原创
7337阅读
0评论
0点赞
发布博客于 5 年前

iOS-App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure

使用AFN进行GET请求时控制台打印 Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.plist file. 解决方
原创
2395阅读
0评论
0点赞
发布博客于 5 年前

iOS-视频格式转换(MOV->MP4)

AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:path] options:nil];NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:avAsset];if ([compatible
转载
12006阅读
0评论
0点赞
发布博客于 5 年前

iOS-沙盒内视频导出到相册

1.视频导出:UIAlertController *av = [UIAlertController alertControllerWithTitle:@"提示" message:@"您确定要将视频导出到相册?" preferredStyle:UIAlertControllerStyleActionSheet]; [av addAction:[UIAlertAction actionW
原创
6857阅读
0评论
0点赞
发布博客于 5 年前

iOS-解析读取CSV文件,解析excel文件

项目中可能会遇到数据库中导出CSV格式数据,类似于如下图: 需要将csv数据导入进程序中使用,或者写入本地数据库文件中.*什么是CSV? CSV,即逗号分隔值(Comma-Separated Values)。有时也称为字符分隔值,因为分隔字符也可以不是逗号,可以是分号;),其文件以纯文本形式存储表格数据(数字和文本)。 这种文件格式经常用来作为不同程序之间的数据交互的格式。
原创
12241阅读
5评论
1点赞
发布博客于 5 年前

iOS-FMDB和SQLite3使用

1 SQLite31> SQLite的语法管理工具:Navicat数据类型 { text 字段 integer 数字 real 浮点 bolb 二进制 可以完整保存数据,例如照片 }ddl(结构定义 CREATE ALTER DROP) {CREATE CREATE TABLE 表的名字(每个字段的定义 字段名 数据类型…) CREATE
转载
1804阅读
0评论
0点赞
发布博客于 5 年前

iOS-AutoLayout强文一则

感谢作者分享!声明转载地址:http://blog.csdn.net/xyt8023y/article/details/47059019AutoLayout是继AutoResizing之后的一种自动布局方法,解决了AutoResizing无法处理控件间相互关系的问题。 AutoLayout在storyboard中通过底部工具条设置,底部工具条只有勾选了AutoLayout允许才能显示。从左到右三个
转载
1179阅读
0评论
0点赞
发布博客于 5 年前

iOS-自定义手势操作

1.自定义全局手势操作@property (nonatomic, strong) UIPanGestureRecognizer *panGestureRecognizer;-(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; //原生方法无效 self.navigationControll
原创
5853阅读
0评论
1点赞
发布博客于 5 年前

iOS-设置导航栏颜色(iOS8+)

self.navigationController.navigationBar.barTintColor = [UIColor blueColor];
原创
4333阅读
0评论
0点赞
发布博客于 5 年前

iOS-查看真机沙盒文件(利用Xocde)+模拟器查看沙盒文件

iOS在开发过程中一般使用真机进行测试,真机查看沙盒尝试了iTools 和 ifunbox都在iOS升级到9.0以后失去效果.在网络上搜寻到一篇通过Xcode查看真机沙盒文件的方式->在iOS开发之沙盒机制(SandBox),我们了解到如何查看模拟器的沙盒内容。直接在Finder->前往->前往文件夹里输入:/Users/ligang/Library/Application Support/iPho
原创
12180阅读
0评论
1点赞
发布博客于 5 年前

iOS-地理坐标转换,原生地图获取的原始坐标转换为地图真实坐标

GPS以及iOS系统定位获得的坐标是地理坐标系WGS1984,Web地图一般用的坐标细是投影坐标系WGS 1984 Web Mercator,国内出于相关法律法规要求,对国内所有GPS设备及地图数据都进行了加密偏移处理,代号GCJ-02,这样GPS定位获得的坐标与地图上的位置刚好对应上,特殊的是百度地图在这基础上又进行一次偏移,所以在处理系统定位坐标及相关地图SDK坐标时需要转换处理下,根据网络资源
原创
9498阅读
0评论
0点赞
发布博客于 5 年前

iOS-圆角设置性能优化

查阅了好些关于圆角性能优化的帖子,总结下记录下来. 首先: DSImageViewRound 使用方法 iOS图片高性能设置圆角一般我们在iOS开发的过程中设置圆角都是如下这样设置的。 avatarImageView.clipsToBounds = YES; [avatarImageView.layer setCornerRadius:50];这样设置会触发离屏渲染,比较消耗性能。比如当一
原创
9667阅读
1评论
1点赞
发布博客于 5 年前

iOS-地图真实坐标表示形式之间转换(double型,int型 互转)

在开发中可能会遇到这种需求,前端获取的地理坐标并不能在后台以double的形式表示,需要将其转化为其他样式比如:XX度XX分XX秒 的形式表示 进而转化为秒的形式即整形的形式封装了两个类可直接实现地图经纬度坐标真实和整形表示方法的转换方式:/** 如何将度(DDD):: 108.90593度换算成度分秒(DMS)东经E 108度54分22.2秒?转换方法是将108.90593整数位不变取108(度
原创
5820阅读
0评论
0点赞
发布博客于 5 年前

iOS-发布按钮动画(类似于闲鱼发布),弹出动画github开源

github开源链接:https://github.com/qxuewei/XWPopMenuVC项目演示gif动图: 演示效果 弹出动画,发布动画,tabbar弹出,发布按钮弹出选项,类似闲鱼发布按钮动画使用方法:1.在发布点击按钮集成操作:
    XWPopMenuController *vc = [[XWPopMenuController alloc]init];
原创
5142阅读
0评论
0点赞
发布博客于 5 年前

iOS-前后台切换(APP运行期间生命周期)

iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。 //开发app,我们要遵循apple公司的一些指导原则,原则如下: 1、应用程序的状态 状态如下: Not running 未运行
转载
7042阅读
0评论
0点赞
发布博客于 5 年前

iOS-顶部提示框源码分享,在顶部弹出提示框

属性声明:UIWindow *_window;// 窗口的高度#define XWWindowHeight 20// 动画的执行时间#define XWDuration 0.5// 窗口的停留时间#define XWDelay 1.5// 字体大小#define XWFont [UIFont systemFontOfSize:12]方法实现:/** * 显示信息 * * @
原创
4640阅读
1评论
0点赞
发布博客于 5 年前

iOS-判断URL是否可用,判断网址是否正确

思路:传入一个请求的URL,进行网络请求,如果返回失败信息则说明此URL不可用 1.首先进行第一步判断传入的字符串是否符合HTTP路径的语法规则,即”HTTPS://” 或 “HTTP://” ,从封装的一个函数,传入即可判断- (NSURL *)smartURLForString:(NSString *)str{ NSURL * result; NSString *
原创
22371阅读
0评论
0点赞
发布博客于 5 年前