自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (2)
  • 收藏
  • 关注

原创 ios宏展开

前言:近期看了一下RAC中的宏命令,发现其中的宏命令一环扣一环,环环相扣,把我都给整懵逼了...  通过深入学习,终于能看懂了,写个小demo秀一波操作. 源码:#define JK_Prepare_Subviews(supperView, ...)\JK_metamacro_foreach(JK_Add_Subview, supperView, __VA_ARG...

2018-11-02 21:25:02 501

原创 imageNamed和imageWithFile

imageNamed默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象.如果缓存中没有找到相应的图片对象,则从指定地方加载图片然后缓存对象,并返回这个图片对象.而imageWithContentsOfFile则仅只加载图片,不缓存.大量使用imageNamed方式会在不需要缓存的地方额外增加开销CPU的时间来做这件事.当应用程序需要加载一张比较大

2016-08-15 20:23:37 637

原创 KVC和KVO

** KVC:   * 1.字典转模型 ,简化代码量    * 2.修改系统的只读变量:例如自定义tabBar的时候,由于tabBar是只读属性,只能用KVC赋值.    * 3.可以任意修改一个对象的属性和变量\(包括私有变量\)    * 4.可以通过运算符层次查找对象的属性,setValue:forKeyPath:假如person这个类中我们又

2016-08-14 02:32:34 509

原创 Self和Super

@implementation Son : Father- (id)init{ self = [super init]; if (self) { } return self;}这段代码 估计很多人都 写烂了,就算没写烂,xcode 自动生成的 我们也看吐了。 好吧,来说说原来,上来就是 : 这个其实就是 在子类实现初始化前 调用父类的init

2016-08-12 23:35:23 414

原创 Bitcode适配指南

随着XCode7的发布,Apple提供了一项新的技术来支持App瘦身功能,那就是Bitcode。本文章将会结合自己在支持bitcode过程中遇到的问题,来阐述支持bitcode的过程。BitCode是什么Bitcode is an intermediate representation of a compiled program. Apps you upload to iTunes Con

2016-08-11 13:22:23 532

原创 http 的post与get区别与联系

(1)get是从服务器上获取数据,post是向服务器传送数据。(2)在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置HTML HEADER内提交。(3)对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。(4)GET方式提交的数据最多只能有1024字节,

2016-08-11 02:39:53 383

原创 多线程的作用和使用场景

(1)、多线程的作用:可以解决负载均衡问题,充分利用cpu资源。为了提高CPU的使用率,采用多线程的方式去同时完 成几件事情而互不干扰,(2)、大多情况下,要用到多线程的主要是需要处理大量的IO操作时或处理的情况需要花大量的时间等等,比如:读写文 件、视频图像的采集、处理、显示、保存等。(3)、ios有三种主要方法:1、NSThread。2、NSOperation。3、GCD。

2016-08-11 02:36:09 3828

原创 runtime的使用

#import "ViewController.h"#import //#import "Cat.h"#import "AnimalProtocol.h"@interface ViewController ()@end@implementation ViewController- (void

2016-08-09 23:42:07 405

原创 runtime理解

一:基本概念Runtime基本是用C和汇编写的,Objective-C 从三种不同的层级上与 Runtime 系统进行交互,分别是通过 Objective-C 源代码,通过 Foundation 框架的NSObject类定义的方法,通过对 runtime 函数的直接调用。大部分情况下你就只管写你的Objc代码就行,runtime 系统自动在幕后辛勤劳作着。RunTime

2016-08-09 23:11:33 654

原创 二维码的扫描

#import "ViewController.h"#import #import #import "Masonry.h"@interface ViewController ()AVCaptureMetadataOutputObjectsDelegate>@property (weak,nonatomic)IBOutletUI

2016-08-08 21:07:05 413

原创 计步器

//需要走一会label才会更新.....#import "ViewController.h"#import @interface ViewController ()@property (weak,nonatomic) IBOutletUILabel *textLabel;@property (nona

2016-08-08 16:32:02 522

原创 磁力计

- (void)viewDidLoad {    [superviewDidLoad];    self.manager = [CMMotionManagernew];        if ([self.managerisMagnetometerAvailable]) {                self.manager.magne

2016-08-08 00:35:13 765 2

原创 加速计

//旧api- (void)viewDidLoad {    [super viewDidLoad];    // 1. 获取加速计对象    UIAccelerometer *accelelrometer = [UIAccelerometer sharedAccelerometer];        // 2. 设置间隔    acce

2016-08-08 00:34:08 417 5

原创 HTTP的通信的 发送请求、接收响应

请求:一个请求包含以下内容:   请求行:包含了请求方法、请求资源路径、HTTP协议版本GET/MJServer/resources/images/1.jpg HTTP/1.1请求头:包含了对客户端的环境描述、客户端请求的主机地址等信息Host:192.168.1.105:8080   // 客户端想访问的服务器主机地址User-Agent:Mozilla/5.0 (Mac

2016-08-07 00:11:31 546

原创 NSOperation 和 GCD 的区别

1. GCD是底层的C语言构成的API,而NSOperationQueue及相关对象是Objc的对象。在GCD中,在队列中执行的是由block构成的任务,这是一个轻量级的数据结构;而Operation作为一个对象,为我们提供了更多的选择;    2. 在NSOperationQueue中,我们可以随时取消已经设定要准备执行的任务(当然,已经开始的任务就无法阻止了),而GCD没法停止已经加入qu

2016-08-07 00:01:44 3894

原创 系统导航

#import "ViewController.h"#import #import @interface ViewController ()@property (weak,nonatomic) IBOutletMKMapView *mapView;@property (weak,nonatomic) IBOutletUITextF

2016-08-06 00:00:35 453

原创 mapView的基本使用

#import "ViewController.h"#import #import @interface ViewController ()@property (nonatomic ,strong)CLLocationManager *manager;@property (weak,nonatomic) IBOut

2016-08-05 23:59:15 4509

原创 地理编码与反地理编码

#import "ViewController.h"#import @interface ViewController ()@property (weak,nonatomic) IBOutletUITextField *addressField;@property (weak,nonatomic) IBOutlet

2016-08-05 00:12:40 641

原创 计算地图上两点之间的距离

#import "ViewController.h"#import @interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {    [superviewDidLoad];   

2016-08-05 00:10:58 953

原创 地图定位

//1.导入库//2.配置info.plist//如果设置了后台定位#import "ViewController.h"#import @interface ViewController ()CL

2016-08-04 01:48:49 345

原创 Objective-C isa 指针 与 runtime 机制

一.isa指针要认识什么是isa指针,我们得先明确一点:在Objective-C中,任何类的定义都是对象。类和类的实例(对象)没有任何本质上的区别。任何对象都有isa指针。那么什么是类呢?在xcode中用快捷键Shift+Cmd+O 打开文件objc.h 能看到类的定义:可以看出:Class 是一个 objc_class 结构类型的指针, id是一个 objc_ob

2016-08-04 01:41:31 380

原创 链式编程

前言链式编程就是将多个方法用点语法链接起来,让代码更加简洁, 可读性更强.相信大家对Masonry都不陌生. 看下面这段代码:make.width.height.equalTo(0);相当于一句话调用了下面三个方法- (MASConstraint *)width { return [self addConstraintWithLayoutAttribute:NSLayout

2016-08-03 00:29:59 1950

原创 iOS真机调试-Your maximum App ID limit has been reached. You may create up to 10 App IDs every 7 days

真机调试问题Your maximum App ID limit has been reached. You may create up to 10 App IDs every 7 days.你的App ID超过了最大限制,7天最多能创建10个App ID1.出现这种情况,直接用上一次的Bundle ID就行了,因为免费App ID账号苹果官方有所限制直接更换以前在真机上

2016-08-03 00:29:50 3697

原创 单例模式的设计

#import "NetworkTools.h"//GCD方式实现单例@implementation NetworkTools+ (instancetype)shareTools{static id instance;static dispatch_once_t onceToken;dispatch_once (&onceToken),^{//这个方法只会执行一

2016-07-31 08:52:48 337

原创 懒加载

只在用到的时候才去初始化,也可以理解成延时加载.作用:一个是延时加载,避免内存过高,一个是异步加载,避免线程堵塞

2016-07-31 08:38:02 264

原创 NSOperation

NSOperation: 抽象类,不能直接使用,需要使用其子类.(类似的类还有核心动画)两个常用子类: NSInvocationOperation(调用) 和 NSBlockOperation(块); 两者没有本质区别,后者使用 Block 的形式组织代码,使用相对方便.NSInvocationOperation在调用start方法后,不会开启新的线程只会在当前线程中执行。NSBl

2016-07-31 01:45:31 239

原创 GCD

dsadasd

2016-07-31 01:45:20 299

原创 多线程的作用和实现方法

(1)、多线程的作用:可以解决负载均衡问题,充分利用cpu资源 。为了提高CPU的使用率,采用多线程的方式去同时完成几件事情而互不干扰,(2)、大多情况下,要用到多线程的主要是需要处理大量的IO操作时或处理的情况需要花大量的时间等等,比如:读写文件、视频图像的采集、处理、显示、保存等。 (3)、iOS中多线程的方法主要有三种:1、NSThread。2、NSOperation。3、GCD。

2016-07-30 01:50:30 409

原创 iOS线程和进程的区别和联系

线程和进程的区别主要在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式的影响下不会对其他进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等同于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作

2016-07-30 01:50:10 1175

原创 多线程开发

优点:1.使用线程可以把占据时间长的程序中的任务放到后台去处理2.用户界面可以更加吸引人,比如用户点阿基了一个按钮去触发某些事情的处理,可以弹出一个进度条来显示处理的进度3.程序的运行效率可能提高4.在一些等待的任务上比如用户输入,文件读写和网络首发数控等,线程就比较有用了.缺点:1.如果有大量的线程,会影响性能,因为操作系统需要在它们之间切换2.更多的线程需要

2016-07-29 02:11:30 299

原创 CADisplayLink

CADisplayLink是一种以屏幕刷新频率触发的时钟机制,每秒钟执行大约60次左右CADisplayLink是一个计时器,可以使绘图代码与视图的刷新频率保持同步,而NSTimer无法确保计时器实际被触发的准确时间使用方法:定义CADisplayLink并制定触发调用方法将显示链接添加到主运行循环队列

2016-07-29 02:11:20 305

原创 一个动画怎么实现

以转场动画为例:1> 创建CATransition对象    CATransition *animation = [CATransition animation];2> 设置运动时间(即动画时间)    animation.duration = DURATION; 3> 设置运动type(类型)    animation.type = type;    if (subt

2016-07-28 00:15:38 343

原创 转场动画

CATransition-转场动画, 作为CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比Mac OS X的转场动画效果少一点.  UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果.如下是转场动画的过渡效果: 使用UIView的动画函数,实现转场动画1> 单视图:

2016-07-28 00:15:17 398

原创 Core Animation(核心动画)

CoreAnimation也就是核心动画, 是一组非常强大的动画处理API, 可以使用少量的代码做出绚丽的效果, 是直接作用在CALayer上的, 并非UIView,并且Core Animation的动画执行过程都是在后台操作,不会阻塞主线程.所有动画都是作用在CALayer上的, 当把动画添加到Layer上, 是不直接修改它的属性, Core Animation维护了两个平行layer的层次

2016-07-27 00:18:54 425

原创 Core Graphics 框架

Core Graphics是基于C的API,可以用于一切绘图操作Core Graphics 和Quartz 2D的区别quartz是一个通用的术语,用于描述在IOS和MAC OS X ZHONG 整个媒体层用到的多种技术 包括图形、动画、音频、适配。Quart 2D 是一组二位绘图和渲染API,Core Graphic会使用到这组API 

2016-07-27 00:18:42 349

原创 UIKit和Core Graphics绘图——字符串,线条,矩形,渐变

概述CoreGraphics也称为Quartz 2D 是UIKit下的主要绘图系统,频繁的用于绘制自定义视图。Core Graphics是高度集成于UIView和其他UIKit部分的。Core Graphics数据结构和函数可以通过前缀CG来识别。视图可以通过子视图、图层或实现drawRect:方法来表现内容,如果说实现了drawRect:方法,那么最好就不要混用其他方法了

2016-07-24 23:10:40 359

原创 实现cell的动态的行高

如果希望每条数据显示自身的行高,必须设置两个属性, 1.预估行高, 2.自定义行高设置预估行高    tableView.estimatedRowHeight = 200设置定义行高    tableView.rowHeight =UITableViewAutomaticDimension如果要让自定义行高有效, 必须让容器视图有一个自下而上的约束

2016-07-24 23:10:28 483

原创 UITableView的性能优化? 滑动的时候有种卡的感觉是为什么?怎么解决?

在使用第三方应用时,却经常遇到性能上的问题,普遍表现在滚动时比较卡,特别是table cell中包含图片的情况时。 实际上针对性地优化一下就可以解决tableView滑动的时候卡顿的问题, 在iOS应用中,UITableView应该是使用率最高的视图之一了。iPod、时钟、日历、备忘录、Mail、天气、照片、电话、短信、 Safari、App Store、iTunes、Game Center⋯几乎

2016-07-23 02:22:53 374

原创 富文本

在iOS开发中,不免会遇到给一行文字设置不同的颜色.这个时候,最先想到的可能是多写几个UILabel,但是这样未免也太麻烦了,还有就是给文字加下划线,删除线等等...类似于这样的功能,其实在iOS开发中可以使用NSAttributedstring和NSMutableAttributedString来解决.称其为富文本.那我们就来看看如果使用富文本来创建出丰富多彩的文字.这里我们都使用UILab

2016-07-23 02:22:30 479

原创 响应者链条

1.概念UIResponder类,是UIKIT中一个用于处理时间响应的基类.窗口上的所有事件触发,都由该类响应.所以,窗口上的view及控制器都是派生于该类的,列入UIView,UIViewController等.调用UIResponder类提供的方法或属性,我们就可以捕捉到窗口上的所有响应事件,并进行处理响应者链条是由多个响应者对象连接起来的链条,其中响应者对象是能处理事件的对象,所有的

2016-07-21 23:36:42 300

机试自考题目.zip

c++程序设计机试自考题

2019-07-01

04747《Java语言程序设计(一)》教材电子版

04747《Java语言程序设计(一)》教材电子版

2018-11-02

空空如也

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

TA关注的人

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