自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极客学伟的技术分享社区

不积跬步,无以至千里;不积小流,无以成江海。

  • 博客(479)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 iOS 多线程详解

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

2018-05-15 17:56:46 968

原创 iOS 自动归解档

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

2018-05-11 15:55:50 998

原创 iOS - 基础集合类

iOS基础集合类NSArray排序- (NSEnumerator<ObjectType> *)objectEnumerator;- (NSEnumerator<ObjectType> *)reverseObjectEnumerator;- (NSArray<ObjectType> *)sortedArrayUsingFunction:...

2018-05-11 15:11:52 596

原创 iOS - Runloop 详解

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

2018-05-09 17:40:38 2075

原创 iOS - Runtime 详解

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

2018-05-04 16:35:59 659

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

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

2018-03-22 06:05:53 5326 5

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

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

2018-03-02 05:39:01 10393 1

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

开源地址: https://github.com/qxuewei/XWZipTool可在APP内将压缩包解压到指定沙盒路径XWZipTooliOS 解压缩工具类轻量级加压缩工具类导入XWZipToolBuild Phases -> Compile Sources -> ZipArchive.m 添加 -fno-objc-arc解压 (无密码或有密码zip压缩包) /** 压缩包解压 @p

2017-12-06 13:34:40 1785

转载 iOS 代码规范

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

2017-09-19 21:22:00 1176

原创 iOS- JSPatch 热更新

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

2017-02-13 14:49:13 1067

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

在开发中数组可以说是最常用到的数据结构了,无论是存储对象还是获取沙盒目录数组中文件路径,会经常用到数组的两个对象方法: 即 [xx数组 firstObject] 和 [xx数组 lastObject]. 譬如获取沙盒中cache文件夹路径[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) fi

2017-02-07 21:18:19 3203

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

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

2017-01-17 14:34:17 5515 1

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

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

2017-01-03 11:09:51 8976

原创 iOS-直播中粒子效果

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

2016-12-30 17:43:12 3278

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

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

2016-12-30 11:21:12 2272

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

更改状态栏背景使用runtime和KVC直接修改,文字颜色直接使用属性修改OC版本://// ViewController.m// StatusBarDemo//// Created by 邱学伟 on 2016/12/20.// Copyright © 2016年 邱学伟. All rights reserved.//#import "ViewController.h"@int

2016-12-20 15:30:56 6123 1

原创 iOS-Swift3瀑布流布局开源

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

2016-12-06 18:13:46 2946

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

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

2016-11-18 10:47:37 9770

原创 iOS-Swift3 监听UITextView文字改变

在项目中使用文本输入框出UITextField之外还会经常使用 UITextView ,难免会有需求监听UITextView文本框内文本数量.下面介绍在swift3中两种常用方式方式一: 全局通知1.注册通知 在合适位置注册监听UITextView文本变化的全局通知 //UITextView 监听开始输入的两种方法 //方法一:通知 NotificationCent

2016-11-11 11:35:24 4011

原创 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.

2016-11-10 13:37:09 4304

原创 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

2016-10-26 10:25:19 836

原创 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”

2016-10-26 10:16:06 940

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

转载请注明出处:http://blog.csdn.net/qxuewei/article/details/52909411创建数据库管理类SQLiteManager设置类方法创建单例对象 Swift 中单例对象可以直接输出定义的自身类内的成员变量. class SQLiteManager: NSObject { //MARK: - 创建类的静态实例变量即为单例对象 l

2016-10-25 14:50:21 8108

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

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

2016-10-24 14:55:35 9576 2

原创 SQLite数据库常用操作

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

2016-10-24 08:53:32 1795 1

原创 iOS-Swift3常用语法

转载请注明出处:http://blog.csdn.net/qxuewei/article/details/52862160常量和变量在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量 使用let来定义常量,定义之后不可以修改 使用var来定义变量,定义之后可以修改//定义标示符表明是变量还是常量!//let 常量let age : Int = 24//var

2016-10-20 17:51:14 4458

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

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

2016-10-17 11:07:23 5785

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

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

2016-10-11 18:03:03 17158 10

原创 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

2016-09-29 18:04:16 1677

原创 HTML5-CSS总结

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

2016-09-28 15:16:12 1079

原创 HTML5-常用标签

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

2016-09-27 15:13:00 987

原创 iOS-ReactiveCocoa常见宏

ReactiveCocoa常见宏。1 RAC(TARGET, [KEYPATH, [NIL_VALUE]]):用于给某个对象的某个属性绑定。基本用法//1.`RAC(TARGET, [KEYPATH, [NIL_VALUE]])`:用于给某个对象的某个属性绑定。 RAC(self.label,text) = self.textField.rac_textSignal; //相当于:

2016-09-18 19:29:19 1776

原创 iOS-ReactiveCocoa

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

2016-09-13 13:42:55 1191

转载 iOS-获取蓝牙Mac地址

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

2016-09-13 10:33:36 10591

原创 iOS-链式编程

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

2016-09-12 14:34:17 1268

原创 iOS-const/static/宏/extern

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

2016-09-09 17:18:38 778

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

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

2016-09-08 17:14:05 4745 2

原创 iOS-Runtime

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

2016-09-08 11:49:37 1216

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

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

2016-09-08 11:02:47 2561

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

XML文件解析常用的两种方式一种为苹果原生的NSXMLParser,另外一种为第三方GDataXML1.原生的NSXMLParser方式://*利用 NSXMLParser 方式-(void)XMLParserWithData:(NSData *)data{ //1.创建NSXMLParser NSXMLParser *XMLParser = [[NSXMLParser alloc

2016-08-30 14:36:41 8655 1

弹出视图源代码

类似于Tumblr发布按钮的弹出视图

2016-03-30

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

TA关注的人

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