自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王学森的专栏

为年轻时吹下的牛逼而奋斗

  • 博客(205)
  • 资源 (2)
  • 收藏
  • 关注

原创 SDWebImage源码中阅读总结-那些不解和收获

SDWebImage源码中阅读总结|那些不解和收获图片怎么加载出来的?流程编号关键代码代码位置描述附加补充code_1sd_setImageWithURL:placeholderImage:UIImageView+WebCache.h_line:64入口代码,不多解释Ncode_2sd_internalSetImageWithURL:(nullable...

2018-09-29 18:39:55 468

转载 NSString的内存管理之 __NSCFConstantString、NSTaggedPointerString、__NSCFString

> 转自:http://skyfly.xyz/2015/11/08/iOS/NSString%E7%9A%84%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86/ by skyfly 在 Objective-C 的 Fondation 框架中 NSString 对象是很复杂的存在,各种方式创建以及不同长度的字符串都会影响 NSString 对象在内存中所处的...

2018-09-15 11:44:46 6381 1

原创 NSObject到底多么大引发的一些思考

NSObject到底多么大引发的一些思考本文引用及参考文献,感谢一下博主的分享:C++ 内存对齐—by enos小码哥iOS学习笔记第一天: Objective-C的本质—by 冰凌天Objective-C 检测运行时对象的内存大小—by 蓝新How to find the size of any object in iOS一个问题,一个NSObject的实例占多大内存...

2018-09-04 18:01:40 563

原创 iOS12适配及问题记录

iOS12适配及问题记录版本信息 Xcode: Version 10.0 beta (10L176w) macOS: 10.14 Beta (18A293u) iOS: 12.0(16A5288q)问题及解决过程1,StatusBar内部结构改变 现象:crash crash log: 1,-[_UIStatusBarIde...

2018-06-07 19:10:32 17920

原创 AFNetWorking3.2.0源码阅读-AFURLSessionManager(二)

AFNetWorking3.2.0源码阅读-AFURLSessionManager(二)AFURLSessionManager.m 文件内容解析Definestatic dispatch_queue_t url_session_manager_creation_queue() { static dispatch_queue_t af_url_session_manag...

2018-05-21 00:21:14 458

原创 AFNetWorking3.2.0源码阅读(一)-AFURLSessionManager.h

AFNetWorking3.2.0源码阅读(一)-AFURLSessionManager.hAFNetWorking3.2.0源码阅读(一)-AFURLSessionManager.hAFURLSessionManager.h 介绍属性解析Getting Session Tasks (获取不同task接口,不细说)Managing Callback QueuesInitializ...

2018-05-07 11:11:18 407

转载 iOS-loadView、viewDidLoad、viewDidUnload关系

转载自 点击打开链接标题中所说的3个方法,都是UIViewController的方法,跟UIViewController的view属性的生命周期息息相关。接下来我会一一阐述它们的作用以及它们之间的联系。一、loadView1.什么时候被调用?每次访问UIViewController的view(比如controller.view、self.view)而且view为nil,loadView方法就会被调...

2018-04-25 11:44:40 4829 1

原创 Instruments使用问题集锦

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...

2018-03-13 23:01:15 480

转载 区块链入门

区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释。下面,我就来尝试,写一篇最好懂的区块链教程。毕竟它也不是很难的东西,核心概念非常简单,几句话就能说清楚。我希望读完本文,你不仅可以理解区块链,还会明白什么是挖矿、为什么挖矿越来越难等问题。需要说明的是,我并非这方面的专家。虽然很早就关注,但是

2018-02-27 10:45:12 264

转载 关于离屏渲染

自述: 引言:一款优秀的应用,流畅很关键,用户使用60的fps的应用,跟使用30的fps的应用感受是完全不一样的。类似于半糖这种优秀的应用肯定花了大把精力去优化界面网上关于优化的界面的文章一搜一大把本文并不是讲界面优化的,优化的话推荐下面几篇文章。;YYKit作者:“iOS保持界面流畅的技巧”(我相信认真看一定有收获!)离屏渲染的优化(这篇文章很强)jim:浅谈iOS中的视图优化...

2018-02-26 11:08:04 8559 3

转载 为什么要进行URI编解码、怎么做?

原文地址:http://www.cnblogs.com/leaven/archive/2012/07/12/2588746.html http://www.imkevinyang.com/2009/08/%E8%AF%A6%E8%A7%A3javascript%E4%B8%AD%E7%9A%84url%E7%BC%96%E8%A7%A3%E7%A0%81.html摘要本文主要针对U...

2018-01-18 16:43:39 917

原创 WKWebView中MessageHandler的内存泄漏问题解决过程

背景项目中使用了WKWebView替换了之前的UIWebView,牵扯到Hybird开发,我们需要和H5交互,所以用到了WKWebViewConfiguration 中的 WKUserContentController所以初始化代码如下 WKUserContentController *userContentController = [[WKUserContentController

2017-10-31 13:52:25 9458 4

原创 XCode9 打开StoryBoard崩溃问题解决办法

在XCode8时代创建了一个Swift的项目使用的是StoryBoard开发, 升级到XCode9之后,今天打开的时候,一点击StoryBoard就会崩溃看了崩溃日志:UNCAUGHT EXCEPTION (NSInternalInconsistencyException): Could not find class named UIImage意思说是找不到一个名为UIImage的类 这样根本

2017-10-24 14:26:00 2289

原创 LeetCode-Longest Substring Without Repeating Characters

Q:Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer is "b", with the

2017-08-18 18:08:56 366

原创 LeetCode-Add Two Numbers

Q :You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return

2017-08-17 16:22:58 411

原创 LeetCode-TwoSum

Q:Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same e

2017-08-17 13:07:53 284

原创 Swift 关于Protocol扩展的静态特性

实验样本代码//声明一个协议protocol SharedString { func methodForOverride() -> Void func methodWithoutOverride() -> Void}//扩展协议,实现默认实现//注意方法methodWithoutOverride 中调用了 methodForOverride 方法,这里有一个上写文切换的问题e

2017-06-26 17:51:57 864

原创 Block存储域探析

接《Block截获自动变量实现与__block修饰符内部实现》我们继续探讨Block留下的问题1,__Block_byref_i_0 *__forwarding;这个指向自身的指针是什么鬼,有什么作用,什么时候用? 2,Desc_0结构体中多出来的void (*copy) void (*dispose)这两个方法有什么作用,什么时候用?Block 和 __block变量的实质 名称 实

2017-04-21 17:31:24 1637

原创 Block截获自动变量实现与__block修饰符内部实现

Block截获自动变量的实现解析__block修饰符内部实现解析

2017-03-24 18:54:39 929

原创 Block实现

Block是如何实现的我们通过clang编译出Objective-C文件对应cpp文件,去看他的实现方式,对比不同样式的block的不同, 从中得到它的实现思想无参数Block的基本实现#import "ViewController.h"typedef void(^WxsBlock) ();@interface ViewController ()@end@implementation ViewCo

2017-03-23 14:34:12 553

原创 iOS能源优化

iOS能源优化首先我们需要知道为什么存在这个问题:四个字:用户体验在能源效率上来讲,用户体验表现为- 极佳的反应速度- 系统在复杂操作上的处理速度- 及时、适时的冷却设备- 电池续航所以,对于用户和开发者能源效率时一个非常重要的点我们先设想一下应该具备什么条件,如何做?- iOS系统的节能技术,这是根本- 手机硬件的节能技术,系统本身软件的节能技术- 智能的网络操作,允许开发者对网络行为

2017-03-05 23:42:54 1468

转载 iOS应用被杀死后继续获取用户地理位置

转自:点击打开链接苹果官方在iOS7.1以后对CoreLocation SDK进行更新,允许开发者在App被杀死的情况下,仍然可以获取用户的地理位置并且做一些操作.前期准备:打开后台定位功能plist文件配置这两项接下来是最核心的地方,创建一个CLLocationManager子类:.h文件CLLocationManager.h.m文件单例的生成与初始变量的初始化最重要的部分:限制触发机制最后是A

2017-02-08 17:40:18 5939

原创 iOS内存管理——autorelease方法解析

iOS内存管理——autoreleaseautorelease 自动释放注意:autorelease和ARC 是完全不同的两个东西,没有任何联系。autorelease和ARCautorelease的内存管理方式是在autoreleasePool释放的时候对其中持有的对象依次进行release操作,这样做有个隐患就是如果autoreleasePool迟迟不能被释放,则会有大量的对象在内存中,

2017-02-06 14:29:49 681

原创 iOS内存管理——alloc/release/dealloc方法的GNUstep实现与Apple的实现

iOS内存管理——alloc/release/dealloc方法的GNUstep实现与Apple的实现接上篇关于iOS内存管理的规则考我们通过alloc/release/dealloc方法的具体实现来深入探讨内存管理。什么是GNUstep `GNUstep`是`Cocoa`框架的互换框架,从源代码的实现上来说,虽然和Apple不是完全一样,但是从开发者的角度来看,两者的行为和实现方式是一样,或

2016-12-23 15:26:57 3723 2

原创 关于iOS内存管理的规则思考

关于iOS内存管理的规则思考自己生成的生成的对象,自己持有。非自己生成的对象,自己也能持有。不在需要自己持有的对象时释放。非自己持有的对象无法释放。注:这里的自己是对象使用的环境,理解为编程人员本身也没有错对象操作和Objective-C方法对应 对象操作 Objectivew-C方法 生成并持有对象 alloc/copy/mutableCopy/new或以此开头的方法

2016-12-21 17:08:02 3395

原创 iOS 切换到MRC环境下打印 retainCount 始终是-1或者一长串证书

根据苹果的官方文档https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html上面写着应该返回的是这个对象的UINT_MAX, 并且不会释放, 这个UINT_MAX最大二进制为(11111111

2016-12-20 17:39:12 1683

原创 runloop 与autorelase对象、Autorelease Pool 在什么时候释放

转载自:http://blog.csdn.net/leikezhu1981/article/details/51246684iOS的运行时是由一个一个runloop组成的,每个runloop都会执行下图所示的一些步骤:每个runloop中都创建一个Autorelease Pool,并在runloop的末尾进行释放,所以,一般情况下,每个接受autorelease消息的对象,都会在下个runloop

2016-12-04 11:20:50 621

原创 UIView中autoresizingMask属性研究

在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高。123456789enum {   UIViewAutoresizingNone                 = 0,   UIViewAutoresizingFlexibleLeftMargin   = 1    UIViewAutoresi

2016-12-02 11:16:51 491

转载 算法_二叉树反转

前一阵homebrew作者面试谷歌被拒,原因之一是这位老兄无法反转出二叉树。 既然众公司面试都爱用这货面试,咱也来做一下。 先定义二叉树类 public class BinaryTreeNode { public string Name { get; set; } public T Data { get; set; } public B

2016-11-22 16:15:53 565

转载 Podfile语法

本文翻译自官方的Podfile Syntax Reference,也参考了之前一位博主的翻译,若翻译中有什么异议,欢迎留言指正。PodfilePodfile文件详细描述了一个或多个工程中targets的依赖关系。Podfile会默认创建一个隐式的目标链接到工程中用户的第一个target,名称为“default”。一个Podfile可以非常简单:pod 'AFNetworking', '~> 1.0

2016-11-14 13:44:20 830

原创 iOS判断字符串是否包含emoji表情

- (BOOL)isContainsEmoji:(NSString *)string { __block BOOL isEomji = NO; [string enumerateSubstringsInRange:NSMakeRange(0, [string length]) options:NSStringEnumerationByComposedCharacterSequence

2016-10-21 14:51:18 1823

原创 iOS毛玻璃效果

App设计时往往会用到一些模糊效果或者毛玻璃效果,iOS目前已提供一些模糊API可以让我们方便是使用。话说苹果在iOS7.0之后,很多系统界面都使用了毛玻璃效果,增加了界面的美观性,比如下图的通知中心界面;但是其iOS7.0的SDK并没有提供给开发者实现毛玻璃效果的API,所以很多人都是通过一些别人封装的框架来实现,后面我也会讲到一个;其实在iOS7.0

2016-10-18 23:42:13 780

转载 React Native -21.React Native Fetch网络请求

在 JS 中使用 fetch 更加高效地进行网络请求在前端快速发展地过程中,为了契合更好的设计模式,产生了 fetch 框架,此文将简要介绍下 fetch 的基本使用。在 AJAX 时代,进行请求 API 等网络请求都是通过 XMLHttpRequest 或者封装后的框架进行网络请求。现在产生的 fetch 框架简直就是为了提供更加强大、高效的网络请求而生,虽然在目前会

2016-10-10 17:26:21 1239 1

转载 React Native -20.React Native 自定义组件(跨文件,类似创建一个类)

哈哈的~~~今天介绍的是自定义组件 然后去使用这个组件,让这个组件传递这各种文件之间  哈哈  下面开始吧!!!!我们所要创建的是一个自定义的Button,先创建一个js文件起名为MyButton, 且触摸后的底色、触发事件响应的函数、图片资源、以及图片大小都是根据传过来的值确定的。(所传递进来的参数决定)ok!!下面我们需要在MyButton.js 这个文件中添加一些原生

2016-10-10 00:10:57 2237

原创 React Native -19.React Native Timer定时器的使用

React Native -19 Timer定时器的使用 背景:React Native Version:0.3.1 语法 ES6Step1:介绍RN的定时器就是一个创建方法。并没有像iOS一样的NSTimer类 根据官方提供的文档,定时器有四种形式: • setTimeout, clearTimeout • setInterval, clearInterval

2016-10-09 17:29:08 9784

原创 iOS_Pass iOS hotfix 热更新 JSPatch 个人服务搭建方案

JSPatch 个人服务搭建方案JSPatch简介个人服务搭建思路客户端:*1,按照上方的见解接入JSPatch的pods 或者 直接拖拽文件进自己的工程目录。 *2,- (void)applicationDidBecomeActive:(UIApplication *)application { //2.1,请求服务端的js脚本文件,成功后判断必要条件 //2.2, 符合条件执

2016-09-19 15:44:43 754

转载 iOS_Pass iOS Crash log 解析

http://lieyunye.github.io/blog/2013/09/10/how-to-analyse-iOS-crash-log/http://blog.csdn.net/smking/article/details/9342899[objc] view plain copy 最近在解析umeng错

2016-09-19 13:06:54 740

原创 iOS_Pass iOS10适配:权限访问、MiPush小米推送(更新中)

iOS10官方文档原版翻译Pass_1iOS10 相册,相机内的提示文字变成了英文,比如,取消(cancel),完成(complete)等,解决方法在项目的info.plist里面添加Localized resources can be mixed 值为 YESPass_2iOS10 权限设置,相机、相册、地理位置、蓝牙等获取权限崩溃,解决方法在项目的info.plist里边添加相关的权限ke

2016-09-18 14:36:19 4021 2

原创 iOS_Pass iOS10获取相册权限崩溃crash解决方法

iOS发布后,应用中获取相册权限应用崩溃crashlog如下:This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSPhotoLibraryUsageDescripti

2016-09-14 17:53:38 8889

原创 iOS Base64 String 转成 NSString (base64编/解码)

编码(加密)NSData *encodeData = [decodeString dataUsingEncoding:NSUTF8StringEncoding];NSString *base64String = [encodeData base64EncodedStringWithOptions:0];解码(解密)NSData *decodedData = [[NSData alloc] init

2016-09-12 14:37:44 18390

XMPPFramework (旧一点版本)

老版本的XMPPFramework,没有 @import libxmlSimu; Module 'libxmlSimu' not found 的错误,在此分享给大家

2016-01-21

空空如也

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

TA关注的人

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