![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IOS笔记
文章平均质量分 63
木木不
每天敲一行代码,一年也有360行代码了~
展开
-
GCD使用笔记
dispatch_queue_t获得主队列 dispatch_queue_t main_queue = dispatch_get_main_queue();创建串行队列 dispatch_queue_t serial_queue = dispatch_queue_create("name", DISPATCH_QUEUE_SERIAL);创建并行队列 dispatch_queue_t concurrent_queue = dispatch_queue_create("nam原创 2020-05-12 16:37:49 · 205 阅读 · 0 评论 -
Swift回忆录-枚举
Swift回忆录-枚举特性支持计算属性 (用于提供枚举值的附加信息)实例方法 (用于提供和枚举值相关联的功能)构造函数 (提供一个初始值)遵循协议 (提供标准功能)语法enum SomeEnumeration { // 枚举定义放在这里}例子enum CompassPoint { case north case south case eas原创 2017-04-12 09:41:25 · 265 阅读 · 0 评论 -
iOS静态库和动态库的介绍与制作
描述:存在形式:静态库:.a .framework动态库:.dylib .framework区别:静态库:链接时,静态库会被完整地复制到可执行文件中,被多次使用就有多份冗余拷贝动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。(注意:项目中如果使用了自制的动态库,原则上是不能被上传到AppStore!)原创 2017-03-13 19:36:46 · 645 阅读 · 0 评论 -
在storyboard/xib中如何往UIScrollView里的子视图添加约束?
喜欢xib布局的同学,大概多多少少都会遇到往UIScrollView里子视图添加约束时报莫名其妙的红色冲突问题,这要归咎于UIScrollView是一个的特殊控件,导致对他的子视图进行添加约束时也得用特殊方法。接下来简单的描述下往UIScrollView里的子视图添加约束的主要步骤。1. 为了便于后续好对UIScrollView里的各个子控件增加不同约束,最好只往UIScrol原创 2017-03-21 11:51:58 · 2568 阅读 · 1 评论 -
iOS框架源码阅读的几篇文章
iOS 网络框架- AFNetworking3.1.0 源码解读MBProcessHUD-分析、模仿与学习MJExtension实现简单的字典转模型框架一行行看SDWebImage源码如何写一套下拉刷新的控件:MJRefresh原理浅析MJRefresh源码解析从MJRefresh源码学习上拉下刷新的基原创 2017-02-14 15:54:10 · 380 阅读 · 0 评论 -
iOS Runtime 的几篇文章记录
iOS开发-Runtime详解重识 Objective-C Runtime - 看透 Type 与 ValueOC_runtime运行时官方文档翻译原创 2017-02-14 15:40:54 · 228 阅读 · 0 评论 -
Quartz2D基础入门的几篇文章笔记
Quartz2D 编程指南 总共四个部分,作为入门基础学习不错Quartz2D 编程指南(一)概览、图形上下文、路径、颜色与颜色空间Quartz2D 编程指南(二)变换、图案、阴影Quartz2D 编程指南(三)渐变、透明层 、数据管理Quartz2D 编程指南(四)位图与图像遮罩、CoreGraphics 绘制 LayerQuartz2D的使用 作为入门基础学原创 2017-02-14 15:31:06 · 242 阅读 · 0 评论 -
ReactiveCocoa学习教程笔记
ReactiveCocoa 基础教程iOS Reactivecocoa(RAC)知其所以然(源码分析,一篇足以)ReactiveCocoa核心元素与信号流(来自美团的文章)ReactiveCocoa v2.5 源码解析之架构总览ReactiveCocoa 最全常用API整理ReactiveCocoa 实践React原创 2017-02-14 15:25:39 · 436 阅读 · 0 评论 -
正确使用Block避免Cycle Retain和Crash
参考这篇文章http://tanqisen.github.io/blog/2013/04/19/gcd-block-cycle-retain/原创 2017-02-14 15:03:52 · 271 阅读 · 0 评论 -
深入理解Objective-C的Block
最近时间少,也变得懒了,好久没在这里写文章了,眼看就到8月末了,还是整理一篇酝酿已久的吧。之前的文章中整理过用ObjectiveC开发中常用到的Block代码块,其中也提到了一个和block使用不当的crash例子。接着这个问题,本篇文章将更深一步,对Block的内存使用相关的内容简要整理一下,解释其中的道理和使用Block需要注意的问题。0. 问题所在下面给出一段代码转载 2017-02-14 14:52:21 · 381 阅读 · 0 评论 -
Swift回忆录-属性
Swift回忆录-属性存储属性存储属性:存储在特定类或结构体实例里的一个常量或变量延迟存储属性 :当第一次被调用的时候才会计算其初始值的属性。在属性声明前使用 lazy 来标示一个延迟存储属性。例:class Score{ var totalScore : Int?}class Student{ //存储属性 let name : String? = nil var原创 2017-04-13 09:52:42 · 349 阅读 · 0 评论 -
Swift回忆录-构造器
构造器构造器在创建某个特定类型的新实例时被调用。它的最简形式类似于一个不带任何参数的实例方法,以关键字init命名 init() { // 在此处执行构造过程 }结构体构造过程构造参数 struct Person { var age:Int var name:String = "LouKit" //默认属性值 in原创 2017-04-11 11:34:36 · 537 阅读 · 0 评论 -
ReactiveCocoa 基本使用回忆录
ReactiveCocoa 基本使用回忆录RACSignal//Signal 测试-(void)testRacSignal{ //1 创建信号-默认是冷信号 RACSignal *signal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) { //3 发送数据原创 2017-04-28 16:00:40 · 636 阅读 · 0 评论 -
iOS运行时环境变量
iOS运行时环境变量https://xcoder.tips/runtime-env/https://viktyz.gitbooks.io/iosnotebook-gitbook/Notes/Note_00140_20160205.html原创 2019-07-09 14:23:52 · 629 阅读 · 0 评论 -
NavigationBar 规则笔记
规则一: 如果自定义了navigationBar背景图片,navigationBar.translucent属性会自定根据背景图片的平均透明度来设置。如果平均数小于1.0,系统将会自动设置 translucent = YES,如果alpha == 1.0,translucent = NO。规则二: 如果translucent = YES ,视图的坐标系会从(0,0)开始计算 如果tran...转载 2018-09-17 11:18:11 · 457 阅读 · 0 评论 -
GCD使用经验与技巧浅谈
GCD使用经验与技巧浅谈 http://tutuge.me/2015/04/03/something-about-gcd/原创 2017-05-22 09:08:02 · 388 阅读 · 0 评论 -
RxSwift基本使用(一)
RxSwift部分名词概念解释Observable : 可被观察的,事件源Observer : 观察者,观察者需要订阅Ob原创 2017-06-16 10:25:33 · 2303 阅读 · 0 评论 -
RxSwift基本使用(二)
RxSwift基本使用(二)变换操作map flatMapmap、flatMap用于把流内容映射成新的内容,但flatMap用于其内容还是流事件 Observable.of(1,2,3).map { (num) -> Int in num + 10 }.subscribe(onNext: {print($0)}).addDisposableTo(bag)原创 2017-06-16 10:50:29 · 2520 阅读 · 1 评论 -
Swift回忆录下标——subscript
Swift回忆录下标——subscript定义下标可以定义在类、结构体和枚举中,是访问集合,列表或序列中元素的快捷方式。可以使用下标的索引,设置和获取值,而不需要再调用对应的存取方法。语法下标允许你通过在实例名称后面的方括号中传入一个或者多个索引值来对实例进行存取语法类似于实例方法语法和计算型属性语法的混合。定义下标使用subscript关键字,指定一个或多个输入参数和返回类型;subscript(原创 2017-05-31 11:40:56 · 521 阅读 · 0 评论 -
Swift 闭包中循环引用解决方式
Swift 闭包中循环引用解决方式示例说明:开启一个定时器,然后每隔一秒钟加1秒,直到60秒变量声明//声明一个定时器变量var timer: Timer?var currentSeconds: Int = 0weak 方式 func testTimer(){ weak var weakSelf : CurrentController? = self ti原创 2017-05-25 15:11:30 · 607 阅读 · 0 评论 -
iOS自定义Modal
通过‘小面包’分析系统自带Modal可以得出:Modal出来控制器的View视图是添加到UIWindow上因此若自定义Modal效果控制器,只需把自定义modal控制器的view添加到window上,同时把当前的view移除,然后添加个相应动画模拟完成。UIModalViewController *modalVc = [[UIModalViewController alloc] init];sel原创 2017-04-06 17:21:22 · 470 阅读 · 0 评论 -
iOS定位-CoreLocation 记录
备注:本教程只考虑iOS 8.0+,测试切勿忘了权限iOS开发中CoreLocation是一个与定位有关的类,本教程将利用CoreLocation来实现三个小功能,获取经纬度、区域位置监听、地理位置编码。1.获取经纬度//// LocationController.m// CoreLocation//// Created by LouKit on 2017/2原创 2017-02-17 14:20:12 · 823 阅读 · 0 评论 -
利用RegularExpression进行富文本设置练习
效果描述:在textview上有一段文字,根据RegularExpression创建对应的正则表达式找出对应的文字,并进行高亮显示~主要代码:1.创建正则 NSRegularExpression- (NSRegularExpression *)regularExpressionWithString:(NSString *)searchStr{原创 2017-02-16 17:53:37 · 377 阅读 · 0 评论 -
iOS类型编码表
property_getAttributes 类型编码字符串原创 2016-10-10 12:58:45 · 408 阅读 · 0 评论 -
iOS保存图片到新建相册(iOS Photos)
1.直接保存图片相册中(不需要自己创建新的相簿)- (void)saveImage2Photo:(UIImage *)img { UIImageWriteToSavedPhotosAlbum(img, self, @selector(image:didFinishSavingWithError:contextInfo:),nil);}- (void)image:(UII原创 2016-10-09 09:42:13 · 5505 阅读 · 0 评论 -
iOS判断对象相等 重写isEqual、isEqualToClass、hash
@interface Person@property NSString *name;@property NSDate *birthday;- (BOOL)isEqualToPerson:(Person *)person;@end@implementation Person- (BOOL)isEqualToPerson:(Person *)person { if (!perso转载 2016-09-05 13:46:19 · 1038 阅读 · 0 评论 -
KVC、KVO 代码记
1. KVCKVC一种间接更改对象状态的方式,其实现方法是使用字符串来描述对象需要更改的属性。KVC中的基本调用包括valueForKey:和setValue:ForKey:,以字符串的形式向对象发送消息.代码:@interface Student : NSObject@property (nonatomic,copy) NSString *name;原创 2016-08-23 11:57:17 · 407 阅读 · 0 评论 -
IOS中线程小笔记
小笔记:个人使用。保证只有自己看得懂~在iOS中开启线程有三种方式NSThread,GCD,NSOperation其实还有一种,pthread ,只是这种太古老了,用起来难度大,所以被忽略了1.NSThread开线程方式://打开一个线程-(void)newThread{ //方式1: //withObject 参数,即run原创 2016-08-22 12:41:36 · 301 阅读 · 0 评论 -
IOS存储笔记(一)
1.Preference 存储方式(偏好设置)原创 2016-08-08 11:15:11 · 279 阅读 · 0 评论 -
通过NSURLConnection静态方法请求网络
NSURLConnection在提供了两个静态方法请求网络,sendAsynchronousRequest //异步请求sendAsynchronousRequest //同步请求例子:Get 同步请求//通过 NSURLConnection 静态方法请求网络 同步-(void)testSyncGet{ NSString *strUrl = @"htt原创 2016-08-17 15:36:26 · 463 阅读 · 0 评论 -
IOS网络请求简单笔记(一)
网络请求可简单的分为三步骤1.确定请求地址 NSURL2.确定NSURLRequest / NSMutableURLRequest(post 使用)3.NSURLConnection最后根据苹果的习惯,网络请求肯定是有代理的:NSURLConnectionDataDelegate代理方法://服务器开始返回数据-(void)connection:(NSUR原创 2016-08-17 11:31:01 · 601 阅读 · 0 评论 -
ios sqlite3 curd 小笔记
定义个sqlite3sqlite3 *_db;1.创建/打开数据库-(void)open_sqlite{ NSString *filename = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppen原创 2016-08-16 14:13:18 · 318 阅读 · 0 评论 -
忘记NSURLConnection,拥抱NSURLSession吧
本文转自:伯乐在线说到 iOS 7 和 Mac OS X 10.9 Mavericks 的显著变化,其中一个就是Foundation框架中URL加载系统的优化。此时可能有人正沉浸在Apple的网络基础架构,我想在这里分享一下我对这些新APIs的看法,并展示这些新APIs如何改变我们构建应用程序的方式,以及这些它们在API设计理念演变中的意义。作为Core Foundat转载 2016-10-10 16:51:04 · 368 阅读 · 0 评论 -
iOS NSInvocation 使用
NSInvocation使用还是挺简单的,只是还是有很多开发者不知道他是干嘛的,这里做个比较。NSInvocation能做啥?在iOS中如果调用某个对象的消息我们经常使用系统提供的performSelector方法performSelector: withObject:performSelector:...performSelector这玩意是好,但蛋疼的是如果是参数是多个原创 2016-10-11 09:23:20 · 628 阅读 · 0 评论 -
NSRegularExpression 使用小记
一些NSRegularExpression方法的使用 //block方式遍历出合适的结果 - (void)enumerateMatchesInString:(NSString *)string options:(NSMatchingOptions)options range:(NSRange)range usingBlock:(void (NS_NOESCAPE ^)(NSTextCheck原创 2017-02-16 15:34:56 · 2683 阅读 · 0 评论 -
NSRegularExpressions 语法参考
更多细节参考文章:raywenderlich oc 版本教程raywenderlich swift 版本教程raywenderlich swift 翻译版 版本教程原创 2017-02-16 11:37:40 · 445 阅读 · 0 评论 -
iOS侧滑效果Demo
之前学习过程中做的一个简单的侧滑demo,留个笔记,以便日后使用 demo下载原创 2016-11-14 16:08:25 · 424 阅读 · 0 评论 -
Block使用总结
Block使用总结Block局部变量returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};如:int (^sum)(int,int) = ^int(int num1,int num2){ return num1+num2;};Block作为属性@property (nonatomic, copy,原创 2016-11-02 09:42:26 · 280 阅读 · 0 评论 -
Collection制作相片查看器
实现效果 1.控制器的实现#import "ViewController.h"#import "PhotoCell.h"#import "PhotoFlowLayout.h"@interface ViewController ()@endsta原创 2016-10-20 15:35:42 · 388 阅读 · 0 评论 -
NSURLSession基本使用
NSURLSession基本使用NSURLSession是iOS7推出来的用于替代NSURLConnection的一个网络框架,从iOS9开始系统也已不在推荐使用NSURLConnection,转而使用NSURLSession进行网络请求。NSURLSession使用是之前的NSURLConnection相比较发生了一些变化。原创 2016-10-19 12:38:39 · 391 阅读 · 0 评论