自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

探路者_iOS

原理->demo->write->write..->write->success

  • 博客(176)
  • 收藏
  • 关注

转载 iOS之利用GCD信号量控制并发网络请求

引对计算机了解的都会知道信号量的作用,当我们多个线程要访问同一个资源的时候,往往会设置一个信号量,当信号量大于0的时候,新的线程可以去操作这个资源,操作时信号量-1,操作完后信号量+1,当信号量等于0的时候,必须等待,所以通过控制信号量,我们可以控制能够同时进行的并发数。在网络请求的开发中,经常会遇到两种情况,一种是我在一个界面需要同时请求多种数据,比如列表数据、广告数据等,全部请求到后再一起刷新...

2018-06-07 18:17:22 1235

转载 iOS开发 常用的第三方框架

图像:1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。      下载:https://github.com/mwaterfall/MWPhotoBrowser 目前比较活跃的社区仍旧是Github,除此以外

2016-09-21 11:15:39 2858

转载 超全!整理常用的iOS第三方资源

一:第三方插件1:基于响应式编程思想的oc地址:https://github.com/ReactiveCocoa/ReactiveCocoa2:hud提示框地址:https://github.com/jdg/MBProgressHUD3:XML/HTML解析地址:https://github.com/topfunky/hpple4:有文字

2016-01-26 11:33:00 504

转载 比较牛逼的 博客 (关于音视频的)http://www.cnblogs.com/kenshincui/p/4186022.html

http://www.cnblogs.com/kenshincui/p/4186022.html

2016-01-15 11:08:32 419

转载 iOS学习笔记33-iOS 开发博客合集(持续更新中。。。)

OneV's Den---http://onevcat.com王巍(喵神), 现居日本, 就职于 LINE, 知名 iOS 开发者, 写的文章大多深入浅出, 内容广泛, 目前在维护的 Swifter 也值得收藏。唐巧的技术博客---http://blog.devtang.com唐巧, 国内知名 iOS 开发者, 现就职于猿题库, 博客推出的 iOS 移动开发周报很受欢迎

2015-10-19 18:25:06 473

转载 Sentry前端部署拓展篇(sourcemap关联、issue关联、release控制)

之前的《基础篇》主要介绍了Sentry和基本部署流程,在实际使用过程中你会发现Sentry受欢迎的原因:除了单纯的监控异常还有溯源、分发任务等一条龙服务。本篇文章主要讲述Sentry中较好的拓展功能,包括:Release控制,分别处理线上、测试环境的异常通过SourceMap直接查看出错js源码报警邮件发送规则Issue关联GITHUB/GITLAB上篇文章已将Sentry的各种文档、社区贴出,本...

2018-07-06 08:18:47 5708 1

转载 搭建自己的 sentry 服务

Sentry 自动化异常提醒 这篇文章已经介绍的很清楚了,这里直接讲一讲搭建自己的 sentry 服务,这样就免费使用 sentry 这个服务。1、 安装 docker(新系统安装,按照提示到指定链接安装即可)首先要确认你的 Ubuntu 版本是否符合安装 Docker 的前提条件。如果没有问题,你可以通过下边的方式来安装 Docker :使用具有 sudo 权限的用户来登录你的 Ubuntu 。...

2018-07-06 08:17:48 8236 3

原创 this的牛逼使用

let a = 1; class Foo {  a = 2  test = () => {    console.log(this.a);  }} let bar = {  a: 3,  test: () => {    console.log(this.a);  },  test2: function() {    console.log(this.a);  }}  // 给出以下6...

2018-07-04 18:47:14 225

转载 移动端适配方案 flexible.js

前言移动端适配一直以来都是前端开发中不可或缺的重要组成部分,如果没有了它,那么你做出来的页面极有可能会出现各种意外(写出来的页面与设计稿之间的差别)。所有我们得找到一种相对来说让人比较满意的解决方案,尽可能地让这种“意外”减到最少。没错今天的主角就是它“flexible.js” 。flexible.js 之旅flexible.js 的作用就是让你在不同的终端设备之间如鱼得水,如入无人之境。说得那么...

2018-07-02 19:11:12 1257

原创 npm-hooks解释

https://github.com/ghooks-org/ghooks,前端项目中参考npm  config配置 ghooks三方众所周知,npm是工程师们基于nodejs的开发中的核心内容。而大部分人在使用npm时,主要使用她的包管理系统。但是,当我们稍微look look那些知名的开源项目,或者老牛们的代码时,常常都能在它们的package.json里看到一个写满了命令的scripts属性。...

2018-06-11 16:52:59 601

转载 离屏渲染

一、概述OpenGL ES是一套多功能开放标准的用于嵌入系统的C-based的图形库,用于2D和3D数据的可视化。OpenGL被设计用来转换一组图形调用功能到底层图形硬件(GPU),由GPU执行图形命令,用来实现复杂的图形操作和运算,从而能够高性能、高帧率利用GPU提供的2D和3D绘制能力。iOS系统默认支持OpenGl ES1.0、ES2.0以及ES3.0 3个版本,三者之间并不是简单的版本升级...

2018-06-07 14:46:41 168

转载 React 高阶组件浅析

高阶组件的这种写法的诞生来自于社区的实践,目的是解决一些交叉问题(Cross-Cutting Concerns)。而最早时候 React 官方给出的解决方案是使用 mixin 。而 React 也在官网中写道:We previously recommended mixins as a way to handle cross-cutting concerns. We've since realize...

2018-06-05 14:54:03 1648 1

转载 React-Native RCTEventEmitter (OC方法调用RN方法)

React-Native RCTEventEmitter (OC方法调用RN方法)需要从iOS向RN 发送一个通知,这时就会用到RCTEventEmitter.我直接把代码贴出来://.h+ (void)postNotiToReactNative:(NSString *)type args:(id)args;//.mRCT_EXPORT_MODULE();- (NSA

2018-01-05 13:54:31 1954 1

转载 JS throw语句

Throw 声明throw 声明的作用是创建 exception(异常)。你可以把这个声明与 try...catch 声明配合使用,以达到控制程序流并产生精确错误消息的目的。语法:throw(exception)exception 可以是字符串、整数、逻辑值或者对象。注意:使用小写字母编写 throw。使用大写字母会出错!实例 1下面的实例的

2017-12-14 17:04:54 3857

转载 安装node版本管理工具之NVM

nvm是个啥?nvm是一个可以让你在同一台机器上安装和切换不同版本node的工具linux系统的github地址:点我如果你是windows系统,直接下载安装就好了,附windows-nvm的github地址 点我windows-nvm的下载地址 点我去下载1. 开始安装(Linux系统下)可以通过curl或者wget进行安装,命令如下curl方式curl -o- https://

2017-12-01 15:29:43 474

转载 package.json字段全解

Name必须字段。小提示:不要在name中包含js, node字样;这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头;这个名字可能在require()方法中被调用,所以应该尽可能短;Version必须字段。Description可选字段,必须是字符串。npm search的时候会用到。Keywords

2017-12-01 15:28:49 207

转载 使用Node.js构建命令行工具

使用Node.js和npm构建脚本或命令行工具。一、包装shell命令第一步:创建一个npm项目npm init;1第二步:创建一个js文件(index.js),包含要运行的脚本!/usr/bin/env nodeconsole.log('Hello, world!');12需要注意的是,需要添加片段标识符“!/usr/bin/env node”,

2017-11-20 11:00:06 361

转载 Jenkins+ Xcode+ 蒲公英 实现IOS自动化打包和分发

直接入正题:Screen Shot 2015-09-18 at 16.56.20.pngMac上安装Jekinsjekins下载地址:http://jenkins-ci.org/ ,选择Mac 直接安装。安装成功后。访问http://localhost 是否可正常访问.安装Jekins相关插件证书管理插件1.https://wiki.jenk

2017-01-06 18:08:17 1620

转载 Xcode-利用Configuration实现多个配置

iOS开发过程中总是会遇到一个应用对应多个域名的情况,测试地址、生产地址、后台接口开发者的个人主机地址,每次打包或者安装的时候都要手动去修改一下地址相当麻烦,而Xcode正好提供了一个可以轻松解决这种情况的机制—Configuration,而且,Configuration的功能远不止于此。与Configuration关联的Build Settings属性

2017-01-05 11:34:50 4969

转载 开发必看的库资源

https://github.com/Tim9Liu9/TimLiu-iOS

2016-09-21 11:21:12 270

转载 兼容iOS 10 资料整理笔记

1.Notification(通知)自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserNotifications的易用,功能也变得非常强大。iOS 9 以前的通知1.在调用方法时,有些方法让人很难区分,容易写错方法,这让开发者有时候很苦恼。2.应用在运行时和非运行时

2016-09-20 18:50:27 232

转载 iOS学习笔记77-ios开发,javascript直接调用oc代码而非通过改变url回调方式

之前一个ios项目中,需要通过UIWebview来打开一个静态页面,并在静态页面中调用相关object-c代码。 一、以前使用js调用object-c的方法关于如何使用javascript调用object-c中的函数和方法,我搜索了好久网上所有的方法,基本都指明了一个方向,那就是在UIWebview中载入的js代码中通过改变document.loca

2016-05-08 11:01:52 435

转载 iOS学习笔记76-各个层次的gcc警告

各个层次的gcc警告从上到下覆盖变量(代码)级:指定某个变量警告int a __attribute__ ((unused));指定该变量为"未使用的".即使这个变量没有被使用,编译时也会忽略则个警告输出.文件级:在源代码文件中诊断(忽略/警告)语法:#pragma GCC diagnostic [error|warning|ign

2016-04-27 18:02:50 484

转载 iOS学习笔记75-NSURLSession使用实战教程

我的前面两篇文章介绍了NSURLSession套件的使用和NSURLSession套件的主要类。今天我们使用NSURLSession来完成一个小的应用程序。在实战之前,我先补充一点,为什么苹果会主推NSURLSession技术,而放弃大家都熟悉的NSURLConnection技术,苹果这么做肯定是有原因的,下面列举了NSURLSession的优点:1.后台上传和下载。当你的程序退出了也能进

2016-04-27 17:01:08 363

转载 iOS学习笔记74-IOS多线程知识总结/队列概念/GCD/主队列/并行队列/全局队列/主队列/串行队列/同步任务/异步任务区别附代码

进程:正在进行中的程序被称为进程,负责程序运行的内存分配;每一个进程都有自己独立的虚拟内存空间线程:线程是进程中一个独立的执行路径(控制单元);一个进程中至少包含一条线程,即主线程 队列 dispatch_queue_t,队列名称在调试时辅助,无论什么队列和任务,线程的创建和回收不需要程序员操作,有队列负责。  串行队列:队列中的任务只会顺序执行(类似跑步)

2016-04-26 17:24:14 500

转载 iOS学习笔记74-完整详解GCD系列(四)dispatch_semaphore(信号量)

原创Blog,转载请注明出处http://blog.csdn.net/hello_hwc?viewmode=contents一 何为信号量?  简单来说就是控制访问资源的数量,比如系统有两个资源可以被利用,同时有三个线程要访问,只能允许两个线程访问,第三个应当等待资源被释放后再访问。注意:再GCD中,只有调度的线程在信号量不足的时候才会进入内核态进行

2016-04-26 16:57:13 525

转载 iOS学习笔记74- 完整详解GCD系列(三)dispatch_group

原创Blog,转载请注明出处http://blog.csdn.net/column/details/swift-gcd.html一、dispatch_group把一组任务提交到队列中,这些队列可以不相关,然后坚挺这组任务完成的事件。几个用到的函数1、dispatch_group_create创建一个调度任务组[plain] view plain copy

2016-04-26 16:56:32 375

转载 iOS学习笔记74-完整详解GCD系列(二)dispatch_after;dispatch_apply;dispatch_once

原创Blog,转载请注明出处本文阅读的过程中,如有概念不懂,请参照前专栏中之前的文章,如果还有疑惑,请留言。这是我关于GCD专栏的地址http://blog.csdn.net/column/details/swift-gcd.html本教涵盖的内容一、dispatch_after二、dispatch_apply 三、dispatch_once一、

2016-04-26 16:55:53 564

转载 iOS学习笔记74-完整详解GCD系列(一)dispatch_async;dispatch_sync;dispatch_async_f;dispatch_sync_f

为什么要写这个系列,因为百度了一下,找了很多都是些片面的Blog,拷贝来拷贝去的,写的也很粗糙。所以,我要写这个系列,尽量把官网文档中GCD的强大功能完整的表达出来。方便自己,也方便别人,如果发现有问题,欢迎提出本教程的计划:在完整的看过GCD的官方文档之后,我实在想不出来如何用一篇文章详细完整的写出来如此多的功能。所以,决定开一个专栏来写这个教程。计划8篇文章,分别介

2016-04-26 16:54:53 1182

转载 iOS学习笔记73-iOS事件响应链中Hit-Test View的应用

最近又看了遍苹果的官方文档《Event Handling Guide for iOS》,对事件响应链中的hit-test view 又多了些理解,个人觉的官方文档对这块讲的非常简单,很多东西都是点到为止,hit-test view的知识在项目的任何地方都用到了,但自己反而感知不到,接下来我会给大家讲hit-test view的项目中能解决痛点的三个应用 。什么叫 hit-test view

2016-04-26 10:52:03 546

转载 iOS学习笔记72-Objective-C Autorelease Pool 的实现原理

内存管理一直是学习 Objective-C 的重点和难点之一,尽管现在已经是 ARC 时代了,但是了解 Objective-C 的内存管理机制仍然是十分必要的。其中,弄清楚 autorelease 的原理更是重中之重,只有理解了 autorelease 的原理,我们才算是真正了解了 Objective-C 的内存管理机制。注:本文使用的 runtime 源码是当前的最新版本 objc4-646

2016-04-22 18:46:15 1066

转载 iOS学习笔记71-深入了解NSLoop

RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。目录RunLoop 的概念RunLoop 与线程的关系RunLoop 对

2016-04-22 18:44:54 1438

转载 iOS学习笔记70-使用NSURLConnection实现文件上传

1 、事先了解1.1 请求格式我们使用 http 来上传文件,必须先了解 http 的请求格式,然后才好发报。主要分为以下四个部分:( 1 )分界符:由两个连字符“ -- ”和任意字符串组成;( 2 )标准 http 报文格式,来形容上传文件的相关信息,包括请求参数名,上传文件名,文件类型,接收语言等。( 3 )上传文件的内容,通常是字节流的形式;(

2016-04-22 18:43:36 295

转载 iOS学习笔记69-再细读KVO

[罗国强原创]KVO - Key-Value Observing. 它提供了一种机制,允许对象被通知到其他对象的具体特性的变化。它特别适用于一个应用的模型层与控制层的交互。一种典型的应用场景是在一个视图控制器里面,一个视图观察一个模型对象的属性。一个模型对象可以观察其它模型对象甚至它自己。KVO也分2种,一种是自动的KVO,一种是手动的KVO。NSObject自动支

2016-04-22 18:42:18 287

转载 iOS学习笔记68-IOS移除NSAssert& NSLog

创建新的Scheme选择New Scheme菜单项,接着会弹出一个对话框,从中选择Target,点击OK按钮就创建成功了,这样就创建好的Scheme。此时再选择Edit Scheme菜单项项编,选择Info标签,将Build Configuration(编译配置)修改为Release。这里说明一下编译配置各个项的含义:Debug是为调试编译而配置的,Release是为发布编译而配置的.

2016-03-04 10:11:24 315

转载 iOS学习笔记67-UIBezierPath精讲

学习UIBezierPath画图笔者在写本篇文章之前,也没有系统学习过贝塞尔曲线,只是曾经某一次的需求需要使用到,才临时百度看了一看而且使用最基本的功能。现在总算有时间停下来好好研究研究这个神奇而伟大的贝塞尔先生!笔者在学习时,首先看了两遍UIBezierPath类头文件定义,熟悉了一下相关的属性和方法。支持原创,请阅读原文基础知识使用U

2016-03-04 09:58:30 943

转载 iOS学习笔记66-浅谈 iOS 版本号

Version, 通常说的版本号, 是应用向用户宣传说明时候用到的标识. 一般有2段或者3段式, 如:2.1,8.1.2Version 一般由产品部门确定, 完全迥异的更新需要改变主版本号, 比如 QQ 4.0 的变化非常大, 主版本的变化会更加吸引用户的眼球,所以有的应用会频繁的更新主版本号, 比如 FireFox 20.0 . 两段式的副版本号既包含小功能更新也会包含 bug

2016-03-01 17:05:09 360

转载 iOS学习笔记65-3D Touch开发初体验

3D Touch功能的开发难度并不大,但是由于该功能需要有硬件支持,并且在模拟器上无法体验,所以阻挡了一大批开发者的探索脚步。不过在计算机界从来没有能难倒程序员的问题,本文首先将介绍如何使用3D Touch的Home Screen Quick Actions功能,然后介绍如何在模拟器中使用3D Touch。3D Touch开发3D Touch功能概览3D Touch

2016-02-29 16:33:24 497

转载 iOS学习笔记64-Apple Pay编程指南

本文由CocoaChina译者xiaoying、tr培子翻译自苹果官方文档:Apple Pay Programming Guide目录关于Apple Pay配置支付环境创建支付请求授权支付支付处理Part 1 关于Apple PayApple Pay是一种移动支付技术,它能够让用户以一种便捷安全的方式为现实世界中购买的商品和服务付款。关于相关App里

2016-02-29 11:17:29 1216

转载 iOS学习笔记63-iOS 应用的证书选择

对于一个未上线 App Store 的应用,一般来说,开发者如果需要将应用安装到某些用户的设备上,就需要将应用导出为这些设备可以直接安装的安装包(.ipa文件),安装包能否正确导出,是决定了应用能否被正确安装到设备上的关键因素。其中,最关键的一个因素是,导出安装包时,应用所使用的证书(即:签名方式)。开发者可以选择如下两种方式的证书签名方式,来导出应用安装包:Ad-hoc 方式In

2016-02-26 10:09:37 334

空空如也

空空如也

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

TA关注的人

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