
ios
文章平均质量分 68
iOS开发_小朱
虽然年龄小,但是我相信自己可以的
展开
-
Objective-C之run loop详解
Objective-C之run loop详解 做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用API的级别,这是件挺可悲的事情。想学好一门语言还是需要深层次的了解它,这样才能在使用的时候得心应手,出现各种怪异的问题时不至于不知所措。废话少说,进入今天的正题。不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它原创 2016-02-25 12:27:52 · 328 阅读 · 0 评论 -
Swift笔记
一 . 开发中 推荐使用 let 因为let 更加安全,等需要修改的时候,再改成varlet: 表示常量 一经赋值 就不能被修改,不可变var: 表示变量 可变在swift 中 数据的类型就是自动推导 根据 ‘=‘ 右边 来确定数据的具体类型swift 是一个类型校验 非常严格的语言整数默认类型是 Int long 小数的默认类型 是 D原创 2015-11-22 15:37:19 · 287 阅读 · 0 评论 -
内购广告换肤/KVO/KVC
KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。 1.KVC:间接访问对象属性 监听属性变化 2.1 KVO:1.保存所有参数 监听着,枚举,携带参数,路径 2.2 创建之类NSKVONotifying_CZPerson 重写原创 2015-11-22 15:31:54 · 436 阅读 · 0 评论 -
NSURLSession/AFN框架知识点
/*------------------------------------- 01 NSURLSession ---------------------------------------*/重点:1.NSURLSession的使用2.熟练掌握NSURLSession{ 1> NSURLSession简介: { NSURLSession原创 2015-11-22 15:28:04 · 725 阅读 · 0 评论 -
在Storyboard实现国际化语言和代码实现国际化语言
1.简单布局一下2.第一个添加语言支持然后把English勾上和刚才一样 中文写中文那 英文写英文二代码实现国际化语言创建文件- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)e原创 2015-11-22 15:00:21 · 390 阅读 · 0 评论 -
UI事件处理:手势处理
1响应者对象在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”UIApplication、UIViewController、UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件2.UIResponderUIResponder内部提供了以下方法来原创 2015-11-22 14:57:40 · 295 阅读 · 0 评论 -
自动布局AutoRssiing
1.自动布局AutoRssiing的代码实现1.Flexible 灵活2.UIViewAutoresizingNone 四边的边距都是固定的3.UIViewAutoresizingFlexibleLeftMarig 左边是灵活,右边固定4.UIViewAutoresizingFlexibleWidth 宽度是灵活的,会碎着原创 2015-11-22 14:47:43 · 215 阅读 · 0 评论 -
SDWebImage 第三方框架
1.IOS著名的牛逼网络图片处理框架2.包含的功能:图片下载,图片缓存,下载进度监听,gif处理等等3.用法极其简单,功能十分强大,大大提高了网络图片处理的效率4.国内超过90%的ios项目都有她的影子SDWebImage常见面试题1.问题: 1> 图片文件缓存的时间有多长 答案: 一周2.SDWebIma原创 2015-11-22 15:06:24 · 293 阅读 · 0 评论 -
多线程 下载网络图片主线程实现
1.加载视图层次结构的方法 1.LoadView的方法用纯代码开发的时候 简历视图层次结构, 与 Storard &Xib 是等价的一旦实现了此方法,SB&XIB无效- (void)loadView{ _scrllView= [[UIScrollViewalloc]init]; _scrllView.backgroundCo原创 2015-11-22 15:01:43 · 403 阅读 · 0 评论 -
UIApplication的生命周期
1.创建uiAppliction UIApplication对象介绍: 1>一个UIApplication代表是一个应用程序,而且是单例的。 ** 用来封装整个应用程序的一个对象,比如当应用程序执行到某个时期要做什么,生命周期等。原创 2015-11-22 14:51:12 · 326 阅读 · 0 评论 -
POST
XCode 7 新增加的百分号转义urlString = [urlStringstringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSetURLQueryAllowedCharacterSet]]; 重点:1,单个文件上传(四个步骤) 2.请求体格式{ 为什么要上原创 2015-11-22 15:28:56 · 280 阅读 · 0 评论 -
源代码管理和git 使用
#pragma mark -一.静态库#pragma mark 1.创建.a静态库1. 创建应该选择Framework一栏--> static2. 默认编译后(真机/模拟器分别运行)只会输入,自带的.h,不会输出新建类的.h3. 应该选择项目--> Build Phases --> Copy file -->添加.h即可#pr原创 2015-11-22 15:31:09 · 290 阅读 · 0 评论 -
SOCket和UDP和TCP的区别
1. UDPUDP是一种不可靠的网络协议。(qq用的是这个协议)UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP 协议基本上是I原创 2016-02-24 22:45:17 · 719 阅读 · 0 评论 -
关于iOS六大基本设计模式
iOS,系统框架为应用程序提供了最重要的基础设施,在大多数情况下,只能通过系统框架来调用底层的硬件。反过来,框架也使用了很多特别的设计模式,iOS开发应用程序前,必须要了解它的六大基本设计模式。 (1)Model-View-Controller,即模型-视图-控制器模式,是iOS程序的主要构架,将您的代码分割为几个独立的部分。模型部分定义应用程序的数据引擎,负责维护数据的完整性;视图原创 2016-02-17 12:47:27 · 440 阅读 · 0 评论 -
(ios开发)lldb命令常用
lldb命令常用假如你准备在模拟器里面运行这个,你可以在“(lldb)”提示的后面输入下面的:(lldb) po $eaxLLDB在xcode4.3或者之后的版本里面是默认的调试器。假如你正在使用老一点版本的xcode的话,你又GDB调试器。他们有一些基本的相同的命令,因此假如你的xcode使用的是“(gdb)”提示,而不是“(lldb)”提示的话,你也能够更随一起做,而没原创 2016-02-15 11:01:13 · 529 阅读 · 0 评论 -
静态库的使用,只提供.h
原创 2015-12-01 18:38:47 · 337 阅读 · 0 评论 -
二维码生成
1.创建滤镜 2.设置默认3.设置内容4.设置图片5.设置图片原比例变大8,86.设置图片信息- (void)touchesBegan:(NSSetUITouch*> *)touches withEvent:(UIEvent*)event{ //https://www.baidu.com //创建滤镜原创 2015-12-01 18:33:22 · 267 阅读 · 0 评论 -
二维码扫描,真机
#import"ViewController.h"#import //1.有个素材@interfaceViewController ()AVCaptureMetadataOutputObjectsDelegate>//2.输入设备 采集摄像头捕捉到信息@property(nonatomic,strong)AVCaptu原创 2015-12-01 18:41:40 · 618 阅读 · 0 评论 -
通讯录(有界面的和无界面的)
通讯录(有界面)- (void)touchesBegan:(NSSetUITouch*> *)touches withEvent:(UIEvent*)event{ //1.创建通讯录联系人控制器 ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavi原创 2015-12-01 18:35:57 · 451 阅读 · 0 评论 -
音视频
1.录音 NSString*path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)lastObject]; path = [path stringByAppendingPathComponent:@"123.M原创 2015-12-01 18:42:58 · 338 阅读 · 0 评论 -
iOS9 通讯录(无界面的和有界面的)
iOS9 通讯录(有界面)- (void)touchesBegan:(NSSetUITouch*> *)touches withEvent:(UIEvent*)event{ //不用授权 //展示界面 CNContactPickerViewController *picker = [[CNContactPickerView原创 2015-12-01 18:37:38 · 463 阅读 · 0 评论 -
运行时 #import <objc/runtime.h>
一.实现runtime字典转模型 1.定义字典 2.定义模型属性 3.定义个长整型来接受模型的属性的个数 count 4.定义属性列表ivar 5.for循环遍历进行给模型属性赋值 6.转换成OC字符串 7. 截取字符串从第一个字符串 开始截取 8.进行KVC给模型赋值 //遍历属性 , //底层 runtime原创 2015-11-25 00:24:35 · 1175 阅读 · 0 评论 -
swift笔记2
1.构照方法子类构照 2. 在Person类重写了init构照方法然后进行添加属性以及赋值3.然后创建一个Student类继承Person类然后进行调用Person的构照方法来添加属性4.然后调用子类进行赋值代码如下:/*构造函数: 分配内存空间 设置初始值 ()在swift中 所有的构造方法 都是init原创 2015-11-22 15:38:11 · 247 阅读 · 0 评论 -
自定义Operation
自定义一个Operationstart用来检查代码下载main继承他们的父类-(void)start{ NSLog(@"%s %@",__func__,[NSThreadcurrentThread]); [super start];}使用代理-(void)main{ NSLog(@"%s %原创 2015-11-22 15:36:38 · 360 阅读 · 0 评论 -
ASI和AFN的区别(面试题)
一.底层实现1>AFN的底层基于OC NSURLConnection和NSURLSession2.ASI的底层基于纯C语言的CFNetwork框架3.ASI的运行性能高于AFN二,对服务器返回数据处理1>ASI没有直接提供对服务器数据处理的方式,直接返回data\string2>AFN提供了多种对服务器数据处理的方式1.J原创 2015-11-22 15:26:53 · 669 阅读 · 0 评论 -
HTTP请求
HTTP协议:超文本传输协议(Hypertext Transfer Protocol){ http协议规定了客户端和服务器之间的数据传输格式 http协议是在网络开发中最常用的协议,不管是在移动客户端还是PC端,访问网络资源经常使用http协议http优点简单快速: https 协议简单,通信速度很快原创 2015-11-22 15:20:52 · 217 阅读 · 0 评论 -
socket底层代码
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event{ NSLog(@"touchesBegan"); // Socket代码! // 1.创建客户端Socket // 2.创建服务器Socket // 3.连接两原创 2015-11-22 15:19:48 · 306 阅读 · 0 评论 -
NSOperation+网络图片
想看代码去找加载网络图片 解决图片加载不上报错问题,,因为http网络请求太不安全,苹果改成了https 在info.plist文件更改NSAppTransportSecurityNSAllowsArbitraryLoads1. Capacity容量,假设指定容量10,arrayWithCapacity 会直接开辟10的内存空间2.当add o原创 2015-11-22 15:08:54 · 224 阅读 · 0 评论 -
运行循环
运行循环 - 负责所有事情的监听模式决定了事件的级别1.重要概念1. 保证应用程序不退出2. 监听所有的事件3.如果没有事件发生,运行循环会进入休眠状态,等到事件发生后 重新启动4.子线程的运行循环默认是不启动的5.主线程的运行循环默认是开启的NSDefaultRunLoopMode 时原创 2015-11-22 15:06:54 · 288 阅读 · 0 评论 -
多线程 NSOperation
苹果文档:– removeDependency: 删除指定的依赖关系 NSOperation 是另一个”并发技术”,程序员不需要关心,,并发技术 不是多线程NSOperation - 核心概念:把操作(异步)添加到队列(全局的并发队列)! - 主队列 mainQueue - OC的框架 更加面原创 2015-11-22 15:05:48 · 243 阅读 · 0 评论 -
私人通讯录
2.功能说明(1).只有当账号和密码输入框都有值的时候,登录按钮才能交互(2).当取消勾选记住密码后,自动登录按钮也随之取消;当勾选了自动登录按钮时,记住密码按钮也一同勾选。(3).点击登陆后,弹出蒙版,界面不可交互,程序能够简单判断账号和密码是否正确,如果不正确则给出相应的提示,如果正确则跳转到联系人列表界面。原创 2015-11-22 14:52:52 · 352 阅读 · 0 评论 -
UIStactView 新特性语法新介绍
* 新控件UIStackView 栈视图,类似AppleWatch的Group* 父类: UIView* 特点:1. 只能垂直或水平散列,因此不能完全取代Autolayout2. 能够快速的按顺序取到子控件3.批量修改间距更快4.批量改变对齐方式更快 应用场景tabar//连线一个stactView原创 2015-11-22 15:30:22 · 300 阅读 · 0 评论 -
地图定位
定位定不出来的解决方案:1.没有strong2.没有配置plist3.模拟器BUG 切换模拟器--------------------------------------------------------------------------- 一次定位(掌握)1.创建位置管理器2.手动请求授权3.requestWhenInUseAu原创 2015-11-22 15:29:38 · 362 阅读 · 0 评论 -
多线程 GCD
CGD 全称 Grand Central Dispatch;1.全局队列异步执行- (void)demfor{ //全局队列负责调度任务的 dispatch_queue_tp = dispatch_get_global_queue(0,0); // 2. 任务 使用block 来包装任务 //原创 2015-11-22 15:04:57 · 276 阅读 · 0 评论 -
数据存储
一.plist存储条件:● 属性列表是一种XML格式的文件,拓展名为plist● 如果对象是NSString、NSDictionary、NSArray、NSData、 NSNumber等类型,就可以使用writeToFile:atomically:⽅法 直接将对象写到属性列表文件中 什么能做plist存储?一定要有write to file的原创 2015-11-22 14:53:42 · 277 阅读 · 0 评论 -
AutoLayout的基本使用
1.AutoLayout的基本使用通过代码计算 frameAutoresizing(设置控件与父控件的相对关系,从而实现间接设置frame, iOS系统在运行时会根据设置的规则, 计算出对应的frame,无需手动计算frame)通过设置子控件与父控件的关系来决定如何显示控件Auto Layout通过设置某控件与任意其他控件间的关系来决定如何显示这个控件, 不原创 2015-11-22 14:49:28 · 340 阅读 · 0 评论 -
UITabBarContro的笔记
1.首先设置i空项目2.设置一个UIwindow并且设置颜色3.设置可见 [self.windowmakeKeyAndVisible];4.设置一个UIBarControl控制器ITabBarController*tb = [[UITabBarControlleralloc]init];// 设置为根控制器原创 2015-11-22 14:54:20 · 273 阅读 · 0 评论 -
layer的核心动画的基本属性
CALayer的简单介绍1.UIView是calyer的代理2. 简单介绍、简单介绍在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView。其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动原创 2015-11-22 14:58:44 · 582 阅读 · 0 评论 -
AFN框架须知笔记
AFHTTPRequestOperationManager对NSURLConnection的封装2.AFHTPSessionManager对NSURLSession的封装二、AFHTTPRequestOperationManager的具体使用1.创建管理者AFHTTPRequestOperationManager *mgr = [原创 2015-11-22 15:26:08 · 320 阅读 · 0 评论 -
指纹识别&钥匙串访问
//获得当前设备的系统版本号 float version = [[UIDevicecurrentDevice]systemVersion].floatValue; NSLog(@"%f",version); if (version 8.0) { NSLog(@"请升级至最新系统!");原创 2015-11-22 15:23:25 · 472 阅读 · 1 评论