- 博客(93)
- 资源 (15)
- 收藏
- 关注
原创 iOS学习之多线程编程
一个CPU一次只能执行一个命令,不能执行某处分开的并列的两个命令,因此通过CPU执行的CPU命令行就好比一条无分叉的大道,其执行不会出现分歧。 “一个CPU执行的CPU命令列为一条无分叉路径”即为线程. 现在一个物理的CPU芯片实际上有64个(64核)CPU,如果一个CPU核虚拟为两个CPU核工作,那么一台计算机上使用多个CPU核就是理所应当的事了。尽管如此”一个CPU执行的CPU命令列
2016-05-31 14:41:01 408
原创 GCD学习之GCD(Grand Central Dispatch)
GCD Grand Central Dispatch(GCD)是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发者只需要定义想要执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。由于线程管理是作为系统的一部分来实现的,因此可统一管理,也可执行任务,这样就比以前的线程更有效率。(摘自苹果的官方说明)dispatch_
2016-05-31 14:36:18 789
原创 Objective-C内存管理学习之属性声明的属性与所有权修饰符的对应关系
ARC有效时,Objective-C类的属性也会发生变化、@property(nonatomic,strong)NSString *name;属性声明的属性与所有权修饰符的对应关系属性声明的属性 所有权修饰符assign __unsafe_unretained修饰符copy
2016-05-27 17:26:36 553 2
原创 Objective-C内存管理学习之ARC规则
ARC规则不能使用retain/release/retainCount/autorelease不能使用NSAllocateObject/NSDeallocateObject须遵守内存管理的方法命名规则不要显示调用dealloc使用@autoreleasepool块代替NSAutoreleasePool不能使用区域(NSZone)对象型变量不能作为C语言结构体(struct/union)
2016-05-27 16:28:05 447
原创 Objective-C内存管理学习之所有权修饰符
Objective-C编程中为了处理对象,可将变量类型定义为id类型或各种对象类型。 所谓对象类型就是指向NSObject这样的Objective-C类的指针,例如“NSObject ”。id类型用于隐藏对象的类名部分,相当于C语言中常用的“void ”。 ARC有效时,id类型和对象类型同C语言其他类型不同,其类型上必须附加所有权修饰符。 所有权修饰符一共有4种:__strong修饰符_
2016-05-27 16:11:53 711
原创 Objective-C内存管理学习之autorelease
调用autorelease方法,可以使取得的对象存在,但自己不持有对象。autorelease提供这样的功能,使对象在超出指定的生成范围时能够自动并正确地释放(调用release方法)。autorelease的具体使用方法如下:生成并持有NSAutoreleasePool对象;调用已分配对象的autorelease实例方法;废弃NSAutoreleasePool对象。(自动调用release)
2016-05-27 10:11:57 414
原创 Objective-C内存管理学习之ARC
自动引用计数(ARC,Automatic Reference Counting)是指内存管理中对引用采取自动计数的计数。以下 摘自苹果的官方说明。 在Objective-C中采用Automatic Reference Counting(ARC)机制,让编译器来进行内存管理。在新一代Apple LLVM编译器中设置ARC为有效状态,就无需再次键入retain或者release代码,这在降低程序崩
2016-05-27 09:50:05 439
转载 Objective-C动画学习之自定义过渡动画的实现和使用
一、实现自定义过渡过渡是由使用了 UIViewControllerAnimatedTransitioning 协议的对象来实现的。我们现在新建一个继承自 NSObject 的类,取名 DSLTransitionFromFirstToSecond。将上面提到的协议加入该类,然后就可以使用他来实现我们的两个类的过渡效果了。在这个对象中,有两个方法需要实现:animateTransition: 和 tra
2016-05-26 17:18:19 3822
原创 Objective-C-UI控件学习之UIScreenEdgePanGestureRecognizer
UIScreenEdgePanGestureRecognizer名字很长,而且关于其文档也是少的的可怜,苹果官方给的唯一的一个属性是edges,文档中的解释是这样的: A UIScreenEdgePanGestureRecognizer looks for panning (dragging) gestures that start near an edge of the screen. The
2016-05-26 16:41:46 3457 1
转载 Objective-C-UI控件学习之UIView中坐标转换的方法
IOS-- UIView中的坐标转换// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;// 将像素point从view中转换到当前视图中,返回在当前视图中的像素值- (CGPoint)convertPoint:(CGPoin
2016-05-26 16:10:08 671
转载 Objective-C动画学习之自定义动画切换的相关的主要API
VC容器的主要目的是解决将不同VC添加到同一个屏幕上的需求,以及可以提供一些简单的自定义切换效果。使用VC容器可以使view的关系正确,使添加的VC能够正确接收到例如屏幕旋转,viewDidLoad:等VC事件,进而进行正确相应。VC容器确实可以解决一部分问题,但是也应该看到,对于自定义切换效果来说,这样的解决还有很多不足。首先是代码高度耦合,VC切换部分的代码直接写在container中,难以分离
2016-05-26 15:53:44 450
转载 Objective-C学习之snapshotViewAfterScreenUpdates创建一个复合视图的快照
ios7中添加了调用snapshotViewAfterScreenUpdates创建一个复合视图的快照。然后返回一个uiview对象来表示调用视图的整体外观。由于我们可以看出来创建一个快照是如此的简单,而且比以前的旧方法(需要生成一个位图)要快得多。 该方法有一个BOOL类型的参数,这个参数表示是否立即生成快照,还是在需要更新视图的时候生成 为了验证一下,我们开一下两个效果 UIView *sh
2016-05-26 15:37:57 4431
转载 Objective-C弹出模态学习之Present ViewController Modally
Present ViewController Modally 一、主要用途 弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewController,如UIImagePickerController等。弹出模态ViewController主要使用于一下这几种情形: 1、收集用户输入信息 2、临时呈现一些内容 3、临时改变工作模式
2016-05-26 15:14:10 1863
原创 Objective-C动画学习之自定义转场
iOS中的转场,指的是视图控制器的转场 转场其实就是使得ViewController显示在屏幕上,一共有两种方式:present 一个视图控制器,在日常开发中,主要体现在使用一个ViewController 模态跳转到另外一个ViewController在ContainerViewController 中显示一个视图控制器,这种体现在navigationController 和 tabbar
2016-05-26 14:50:47 578
转载 Objective-C学习之Container View Controller
Container一个iOS的app很少只由一个ViewController组成,除非这个app极其简单。 当有多个View Controller的时候,我们就需要对这些View Controller进行管理。 那些负责一个或者多个View Controller的展示并对其视图生命周期进行管理的对象,称之为容器,大部分容器本身也是一个View Controller,这样的容器可以称之为Contain
2016-05-26 14:42:38 2865
转载 Objective-C内存管理学习之__weak和__block
1、Blocks理解:Blocks可以访问局部变量,但是不能修改 如果修改局部变量,需要加__block __block int multiplier = 7; int (^myBlock)(int) = ^(int num) { multiplier ++;//这样就可以了 return num * multiplier; };2、如果局部
2016-05-26 09:58:28 518
原创 iOS学习之FMDB
SQLite一种轻量级关系数据库,在嵌入式系统中使用比较广泛。 在iOS中使用SQLite需要添加库libsqlite3.0.dylib,并引入头文件#import //打开数据库,资源不足或权限不够会打开失败 if (![db open]) { NSLog(@"数据库打开失败"); } //用完后需要关闭 [db close]; 数据库操作: 查询操作:SELECT,返回FMR
2016-05-25 14:55:20 469
原创 iOS学习之简单的Git使用
一、Git的上传 ls 回到桌面 cd /Users/xiatian/Desktop/XXXXX(文件名)/ git status 找出修改过的地方(检查是否为必须修改后上传,以免冲突) git checkout – XXXXX(文件名)/xxxx.storyboard 恢复为修改前 git status 再次检查修改过的地方 git add . 添加上传 git commi
2016-05-25 14:51:56 388
原创 iOS学习之开发中常见的英文词汇(持续更新,英文不好的同学可以参考下)
英语单词:verify vt 核实;查证layer n. 层,层次;膜;[植]压条;放置者,计划者 vt. 把…分层堆放;借助压条法;生根繁殖;将(头发)剪成不同层次 vi. 形成或分成层次;[植]通过压条法而生根placeholder 占位符count down 倒计时interval n.间隔;间断sender n.发送人;发送机;寄件人destination 目的地,终点
2016-05-25 14:41:34 750
原创 Objective-C学习之用CoreLocation实现地图定位
import <CoreLocation/CoreLocation.h>CLLoactionManagerDelegate/*1.创建定位管理者CLLocationManager *mgr = [[CLLocationManager alloc] init];2.设置代理mgr.delegate = self;*/3.开始定位//[mgr startUpdatingLocation];
2016-05-25 14:29:30 943
原创 Objective-C之图片加载框架SDWebImage
//SDWebImage/** @param url 图像的URL @param placeholder 占位图 @param options 选项(枚举) @param progressBlock 进度块代码 @param completedBlock 完成的块代码*/- (void)sd_setImageWithURL:(NS
2016-05-25 14:26:55 1259 8
原创 Objective-C学习之常用三方库(持续更新)
Reachability 苹果官方提供的网络状态连接框架 https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip AFNetworking 网络连接 https://github.com/AFNetworking/AFNetworking ASI
2016-05-25 14:24:46 620
原创 Objective-C学习之常用的枚举类型以及名词的含义(持续更新)
常见名词:Tap(点击)Pinch(捏合)Rotation(旋转)Swipe(滑动,快速移动,是用于监测滑动的方向的)Pan (拖移,慢速移动,是用于监测偏移的量的)LongPress(长按)CGFloat: 浮点值的基本类型CGPoint: 表示一个二维坐标系中的点CGSize: 表示一个矩形的宽度和高度CGRect: 表示一个矩形的位置和大小URL的基本格式 = 协议://
2016-05-25 14:15:41 480
原创 Objective-C学习之学习中遇到的常用的方法及注意事项(持续更新)
常用的方法(注意事项):rangeOfCharacterFromSet: 只搜索给定字符集的第一个字符 字符串截取到第n位 (substringToIndex: n)(第n位不算再内)时间比较函数 - (BOOL)isEqualToDate:(NSDate *)otherDate; // 与otherDate比较,相同返回YES - (NSDat
2016-05-25 11:28:34 659
原创 Objective-C学习之常用的类名(持续更新)
常见的类名NSPredicate:用于查询,原理和用法都类似于SQL中的where,作用相当于数据库NSCharacterSet,以及它的可变版本NSMutableCharacterSet,用面向对象的方式来表示一组Unicode字符。它经常与NSString及NSScanner组合起来使用,在不同的字符上做过滤、删除或者分割操作NSRange: 表示范围的结构体NSArray:表示不可变数
2016-05-25 10:47:12 854
转载 Objective-C-UI控件学习之UIView的setNeedsDisplay和setNeedsLayout方法
UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的。而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UIGraphicsGetCurrentContext,就可以画画了。而setNeedsLayout会默认调用layoutSubViews, 就可以 处理子视图中的一些数据。 综上所诉,setNe
2016-05-24 14:38:13 512
原创 Objective-C学习之类方法和对象方法的区别
+ 类方法 [类名 方法名]调用- 对象方法 [实例对象 方法名]调用 - 代表实例方法,它在类的一个具体实例范围内执行,也就是说,你咋调用这个方法之前必须先创建一个类的实例;+ 代表类方法,可以通过类名直接调用,不需要创建一个类的实例。
2016-05-24 14:35:21 1621
原创 Objective-C动画学习之视图跳转方式
视图跳转方式:(push pop)[self.navigationController pushViewController:(nonnull UIViewController *)animated:(BOOL)];popToRootViewControllerAnimated:(BOOL)popToViewController:(nonnull UIViewController *)#anim
2016-05-24 14:33:24 861
原创 Objective-C学习之图片相关(ImageIO)
#import <ImageIO/ ImageIo.h>//创建图像源CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)data,NULL);//获取图片的帧数size_t count =CGImageSourceGetCount(source)图片格式: PNG:无损压缩;压缩没有JPG高;
2016-05-24 14:31:59 995
转载 Objective-C学习之NSCache(缓存类)
NSCache 是苹果官方提供的缓存类,用法与NSMutableDictionary的用法很相似,在AFNetworking和SDWebImage中,使用它来管理缓存 NSCache 在系统内存很低时,会自动释放一些对象; 备注:这句话源自苹果官方文档,不过在模拟器中模拟内存警告时,缓存不会做清理动作;为了确保接收到内存警告是能够真正释放内存,最好调用一下removeAllObjects方法
2016-05-24 14:30:17 830
转载 Objective-C学习之懒加载(延迟加载)
懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 使用懒加载的好处: (1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强 (2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合@propert
2016-05-24 14:24:08 1727
转载 Objective-C学习之objectForKey:和valueForKey:的不同
从 NSDictionary 取值的时候有两个方法,objectForKey:和valueForKey:,这两个方法具体有什么不同呢? 先从 NSDictionary 文档中来看这两个方法的定义:objectForKey: returns the value associated with aKey, or nil if no value is associated with aKey. 返回指定
2016-05-24 10:25:12 3254
转载 Objective-C-UI控件学习之dequeueReusableCellWithIdentifier
dequeueReusableCellWithIdentifier,从字面上理解是“出列的可重用的cell”,其实简单说就是一个cell池,里面放的就是你之前创建过的cell。使用时要注意: 1。重取出来的cell是有可能已经捆绑过数据或者加过子视图的,所以,如果有必要,要清除数据(比如textlabel的text)和remove掉add过的子视图(使用tag)。 2。这样设计的目的是为了避免频
2016-05-24 10:17:45 792
原创 Objective-C学习之浅复制和深复制
对一不可变对象复制,copy是指针复制(浅拷贝)和mutableCopy就是对象复制(深拷贝)。如果是对可变对象复制,都是深拷贝,但是copy返回的对象是不可变的。浅复制只复制对象本身,对象里的属性、包含的对象不做复制深复制复制全部,包括对象的属性和其他对象Foundation框架支持复制的类,默认是浅复制在Foundation对象中:copy是一个不可变的对象时,作用相当于retain当使用mut
2016-05-24 10:15:51 437
转载 Objective-C-UI控件学习之UIWebView
UIWebViewDelegate委托代理UIWebView支持一组委托方法,这些方法将在特定时间得到通知。要使用这些方法,必须先设定webView的委托:webView.delegate = self;下面每个委托方法的第一个参数都是指向一个UIwebview的指针,因此你可以将一个委托用于多个网页视图。-(BOOL)webView:(UIWebView*)webView shouldStartL
2016-05-24 10:14:53 566
转载 Objective-C-UI控件学习之UIImagePickerController从拍照、图库、相册获取图片
OS 获取图片有三种方法:直接调用摄像头拍照从相册中选择从图库中选择UIImagePickerController 是系统提供的用来获取图片和视频的接口;用UIImagePickerController 类来获取图片视频,大体分为以下几个步骤:初始化UIImagePickerController 类;设置UIImagePickerController 实例的数据来源类型(下面解释);设
2016-05-24 10:12:38 1116
原创 Objective-C-UI控件学习之UIViewAutoresizing(自动布局)
UIViewAutoresizing 是一个枚举类型,默认是UIViewAutoresizingNone,也就是不做任何处理 UIViewAutoresizingNone 不会随父视图的改变而改变 UIViewAutoresizingFlexibleLeftMargin 自动调整view与父视图左边距,
2016-05-24 10:08:42 449
原创 Objective-C-UI控件学习之UIPageViewController
initWithTransitionStyle:navigationOrientation:options:构造方法用于创建UIPageViewController实例,initWithTransitionStyle用于设定页面翻转的样式。UIPageViewControllerTransitionStyle枚举类型定义了如下两个翻转样式。UIPageViewControllerTransition
2016-05-24 10:03:12 898
转载 Objective-C学习之init
iOS中init一个对象时,会调用对象的init方法,进入init方法时会调用initWithNibName方法,可调试验证每个ios开发者对loadView和viewDidLoad肯定都很熟悉,虽然这两个函数使用上真的是非常简单,但是和类似的initWithNibName/awakeFromNib/initWithCoder放在一起还是非常容易让人混淆的.一、loadView永远不要主动调用这个函
2016-05-24 09:53:15 514
转载 Objective-C-UI控件学习之UIStoryboard
1、UIStoryboard类 此类继承于NSObject,共有三个方法,一个类方法,两个实例方法 1)得到一个StoryBoard Object对象:类方法+ (UIStoryboard *)storyboardWithName:(NSString *)name bundle:(NSBundle*)storyboardBundleOrNil;// 也可以通过一个在storyboard中有sce
2016-05-23 16:55:05 1182
PyCharm Pro for Mac 2019.1汉化补丁
2019-11-19
rubygems-2.6.14
2017-10-31
WebDriverAgent
2017-10-16
ios-minicap
2017-10-16
convertImgToBase64.js
2017-10-12
Jetty-v9.4.1
2017-09-25
DynamicDataDisplay.dll
2017-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人