iOS
unique叶
这个作者很懒,什么都没留下…
展开
-
iOS9 HTTP 不能正常使用的解决办法
Google后查证,iOS9引入了新特性App Transport Security (ATS)。详情:App Transport Security (ATS)新特性要求App内访问的网络必须使用HTTPS协议。但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。最终找到以下解决办法:1.在Info.plist原创 2016-05-27 13:55:25 · 286 阅读 · 0 评论 -
单例创建的2种方式
Objective-c 单例设计模式(Singleton) 一、什么是单例模式:(Singleton) 单例模式的意图是是的类的对象成为系统中唯一的实例,提供一个访问点,供客户类共享资源。 二、什么情况下使用单例? 1、类只能有一个实例,而且必须从一个为人熟知的访问点对其进行访问,比如工厂方法。 2、这个唯一的实例只能通过子类化进行扩展,而且扩展的对象不会破坏客户端代码原创 2016-05-19 15:28:52 · 267 阅读 · 0 评论 -
UINavigationController 基本用法
UINavigationController是用于构建分层应用程序的主要工具,主要采用栈形式来实现视图。任何类型的视图控制器都可放入栈中。在设计导航控制器时需要指定根视图即用户看到的第一个视图。根视图控制器是被导航控制器推入到栈中的第一个视图控制器。当用户查看下一个试图时,栈中将加入一个新的视图控制器,它所控制的视图将展示给用户。我们可以通过导航按钮来操作分层的应用程序,用它来控制视图的原创 2016-05-19 15:32:24 · 278 阅读 · 0 评论 -
IOS多线程、锁、互斥、同步
方法一,@synchronized(id anObject),(最简单的方法),会自动对参数对象加锁,保证临界区内的代码线程安全@synthesize(self){ //这段代码对其它 @synthesize(self) 都是互斥的 //self 指向同一个对象}方法二,NSLockNSLock对象实现了NSLocking protocol,包含几个方法:loc原创 2016-05-19 15:41:55 · 259 阅读 · 0 评论 -
多线程之GCD的使用
iOS多线程编程之GCD介绍:Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。设计:GCD的工作原理是:让程序平行排队的特定任务,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务。一个任务可以是一个函数(func原创 2016-05-19 15:44:24 · 279 阅读 · 0 评论 -
NSTimer的简单使用
NSTimer其实是将一个监听加入到系统的RunLoop中去,当系统runloop到如何timer条件的循环时,会调用timer一次,当timer执行完,也就是回调函数执行之后,timer会再一次的将自己加入到runloop中去继续监听。 CFRunLoopTimerRef 和 NSTimer这两个类型是可以互换的, 当我们在传参数的时候,看到CFRunLoopTimerRef可以传NS原创 2016-05-19 15:55:37 · 274 阅读 · 0 评论 -
UITextField常用属性及键盘收回的几种方式
UITextField 常用属性UITextField 是UIControl的子类,UIControl又是UIView的子类,所以也是一个视图,只不过比UIView多了两个功能,1.文字显示,2.文本编辑 使用过程分四步: 1.创建对象 2.配置属性 3添加到父视图 4.释放所有权 1.创建对象 UITextField *text = [[UITextField alloc] i转载 2016-05-19 15:57:41 · 359 阅读 · 0 评论 -
MVC,MVP,MVVM以及VIPER架构
在 iOS 中使用 MVC 架构感觉很奇怪? 迁移到MVVM架构又怀有疑虑?听说过 VIPER 又不确定是否真的值得切换?相信你会找到以上问题的答案,如果没找到请在评论中指出。你将要整理出你在 iOS 环境下所有关于架构模式的知识。我们将带领大家简要的回顾一些流行的架构,并且在理论和实践上对它们进行比较,通过一些小的例子深化你的认知。如果对文中提到的一些关键词有兴趣,可以点击连转载 2016-05-19 16:03:25 · 349 阅读 · 0 评论 -
iOS中assign、copy 、retain关键字
assign: 简单赋值,不更改索引计数 copy: 建立一个索引计数为1的对象,然后释放旧对象 retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1Copy其实是建立了一个相同的对象,而retain不是: 比如一个NSString对象,地址为0×1111,内容为@”STR” Copy到另外一个NSString之 后,地址为0×2222,内容相原创 2016-05-19 16:08:00 · 226 阅读 · 0 评论 -
IOS中的几种延时方法介绍
一、此方式要求必须在主线程中执行,否则无效。 1、是一种非阻塞的执行方式, 2、暂时未找到取消执行的方法。- (void)delayMethod { NSLog(@"execute"); }1.performSelector方法[self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.0f];原创 2016-05-19 16:11:11 · 399 阅读 · 0 评论 -
UICollectionView使用方法
//// ViewController.m// UICollectionView使用方法//// Created by yeyuanxiang on 16/5/19.// Copyright © 2016年 KuYu_YX. All rights reserved.//#import "ViewController.h"#define WIDTH self.view.bo原创 2016-05-19 16:27:48 · 306 阅读 · 0 评论 -
更严谨的单例创建的方法
//// PlayTool.m// 单例创建的方法//// Created by yeyuanxiang on 16/5/19.// Copyright © 2016年 KuYu_YX. All rights reserved.//#import "PlayTool.h"@implementation PlayTool// 声明一个全局对象static id _i原创 2016-05-19 16:46:01 · 271 阅读 · 0 评论 -
数据安全以及加密(详细解释)
1.数据安全01 攻城利器:Charles(公司中一般都使用该工具来抓包,并做网络测试)注意:Charles在使用中的乱码问题,可以显示包内容,然后打开info.plist文件,找到java目录下面的VMOptions,在后面添加一项:-Dfile.encoding=UTF-802 数据安全的原则 1)在网络上"不允许"传输用户隐私数据的"明文" 2.)在本地"不允许"保存转载 2016-06-02 10:10:01 · 4321 阅读 · 1 评论 -
iOS使用Charles(青花瓷)抓包并篡改返回数据图文详解
charles又名青花瓷,在iOS开发中的抓包中具有重要作用。最大的三点用处,一就是拦截别人软件的发送的请求和后端接口,练习开发。二是自己后端返回的response拦截修改后再接收以达到测试临界数据的作用。三写脚本重复拦截抓取别人的数据。(因为不太道德,本文不提第三点)1.开始之前的准备工作首先安装一下这个软件这个相信很多人电脑里应该都安装了,没安装的搜charles破解版也能原创 2016-06-20 10:27:00 · 4565 阅读 · 3 评论 -
tableView三种计算动态行高方法
tableView是一个神奇的东西,可以这么说,就算是一个初学者如果能把tableView玩的很6,那编一般的iOS的需求都问题不大了。tableView是日常开发中用烂了的控件,但是关于tableView中的自定义cell的动态行高,还是有一些玄机的。笔者本次主要是因为预估行高的方法的问题作为了一个契机顺带写了此文对几种动态行高方法的分析。旧方法现在常规的动态行高的计算方法还是用原创 2016-06-20 10:30:21 · 767 阅读 · 0 评论 -
IOS自适应前段库-Masonry的使用
Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性,而且同时支持 iOS 和 Max OS X。Masonry是一个用代码写iOS或OS界面的库,可以代替Auto layout。Masonry的github地址:https://github.com/SnapKit/Masonry本章内容- Masonry配置-转载 2016-06-20 10:44:10 · 418 阅读 · 0 评论 -
@synthesize和@dynamic区别
在声明property属性后,有2种实现选择 @synthesize 编译器期间,让编译器自动生成getter/setter方法。 当有自定义的存或取方法时,自定义会屏蔽自动生成该方法 @dynamic 告诉编译器,不自动生成getter/setter方法,避免编译原创 2016-05-18 15:07:40 · 249 阅读 · 0 评论 -
UIImagePickerController的简单应用
#import "ViewController.h"#import #import #import "ImagePickerViewController.h"//UIImagePickerController的代理需要遵守这两个协议.@interface ViewController ()@property (assign,nonatomic) int isVideo;//是否录制视原创 2016-05-12 17:43:59 · 712 阅读 · 0 评论 -
NSURLSession的简单
//// ViewController.m// NSURLSession//// Created by kuyu on 16/3/1.// Copyright © 2016年 TCL-YX. All rights reserved.//#import "ViewController.h"#define kImageURL @"http://b.hiphotos.baidu原创 2016-05-11 17:20:33 · 342 阅读 · 0 评论 -
UIWebView加载本地html
初始化控件UIWebView第一步:在文件目录NSString *path = [[NSBundlemainBundle] pathForResource:@"main"ofType:@"html"];方式一:从html文件中读取html字符串NSFileHandle *readHandle = [NSFileHandle fileHandleForRead原创 2016-05-27 14:41:45 · 364 阅读 · 0 评论 -
Xcode 7.3 自定义类无法自动联想的解决办法
点击顶部工程名 --> 左侧Target --> BuildSettings --> Apple LLVM 7.1 -Language-Objective C 下面的 Weak References in Manual Retain Release 设置为YES. 然后common+B编译运行一下就可以了原创 2016-05-30 14:34:52 · 782 阅读 · 0 评论 -
NSTimer导致误差的原因
//NSTimer导致误差的原因: /* 1、NSTimer加在main runloop中,模式是NSDefaultRunLoopMode,main负责所有主线程事件,例如UI界面的操作,复杂的运算,这样在同一个runloop中timer就会产生阻塞。 2、模式的改变。主线程的 RunLoop 里有两个预置的 Mode:kCFRunLoopDefa原创 2016-05-30 15:14:04 · 1112 阅读 · 0 评论 -
iOS App上架流程
一、前言:作为一名iOS开发者,把开发出来的App上传到App Store是必须的。下面就来详细介绍一下具体流程。二、准备:一个已付费的开发者账号(账号类型分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种类型,每年资费分别为$99、$99、$299、免费。)。一个已经开发完成的项目。三、检查:你的X原创 2016-06-02 10:03:07 · 1111 阅读 · 0 评论 -
ios开发中常用的几种辅助方法
//1.Keychain本地长期键值存储//删除+(void)deleteStringForKey:(NSString *)aKey{ NSMutableDictionary *query = [NSMutableDictionary dictionary]; [query setObject:(__bridge id)kSecClassGenericPassword for原创 2016-06-02 10:15:08 · 1076 阅读 · 0 评论 -
什么是Nib文件?
什么是Nib文件?Nib文件是一种特殊类型的资源文件,它用于保存iPhone OS或Mac OS X应用程序的用户接口。Nib文件是Interface Builder文档。通常您会使用Interface Builder设计应用程序的可视部分-例如窗口或视图。有些时候,您可能也用它来配置一些不可视的对象,例如控制器对象(用于管理窗口和视图)。实际上,所有这些操作都是在编辑一份Interface原创 2016-05-09 17:15:45 · 1305 阅读 · 0 评论 -
图片模糊和背景视图设置毛玻璃效果
背景视图设置毛玻璃效果-(void)glassImage{ UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.view.bounds]; imageView.image = [UIImage imageNamed:@"2.png"]; //对背景视图设置毛玻璃效果 UIVisual原创 2016-05-09 18:04:30 · 1028 阅读 · 0 评论 -
CALyer简单介绍和使用
一、position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position; 用来设置CALayer在父层中的位置 以父层的左上角为原点(0, 0)原创 2016-05-10 10:39:42 · 1039 阅读 · 0 评论 -
NSFileManager简单操作
NSFileManager是什么?通熟易懂的解释:NSFileManager是文件管理者,可以1.能够创建文件夹, 创建删除 赋值移动2.通过路径查找和拼接代码演示:#pragma mark --NSFileManager 文件管理者/** * 1.能够创建文件夹, 创建 删除 赋值 移动 2.通过路径 3. */-(void)ini原创 2016-05-10 10:54:41 · 796 阅读 · 0 评论 -
target/action 设计模式简单使用
Target-Action模式是ObjC里非常常见的对象之间方法调用的方式,不过ObjC把方法调用叫做Send Message.一帮情况在和UI打交道时候处理各种GUI上的事件会利用到这种模式.相对应的.NET上的处理模式就是delegate/event了.不过,Target-Action拜C语言所赐,更是灵活很多,编译期没有任何检查,都是运行时的绑定.代码演示:1.创建一个继原创 2016-05-10 11:06:00 · 1241 阅读 · 0 评论 -
线程和进程的区别
线程是什么?进程是什么?二者有什么区别和联系?1.线程是什么?进程是什么?二者有什么区别和联系?(1)线程是CPU独立运行和独立调度的基本单位;(2)进程是资源分配的基本单位;两者的联系:进程和线程都是操作系统所运行的程序运行的基本单元。区别:(1)进程具有独立的空间地址,一个进程崩溃后,在保护模式下不会对其它进程产生影响。(2)线程只是一个进程的不同执行路径,线程有自原创 2016-05-10 14:05:38 · 957 阅读 · 0 评论 -
OS缓存清理功能
移动应用在处理网络资源时,一般都会做离线缓存处理,其中以图片缓存最为典型,其中很流行的离线缓存框架为SDWebImage。但是,离线缓存会占用手机存储空间,所以缓存清理功能基本成为资讯、购物、阅读类app的标配功能。今天介绍的离线缓存功能的实现,主要分为缓存文件大小的获取、删除缓存文件的实现。获取缓存文件的大小由于缓存文件存在沙箱中,我们可以通过NSFi原创 2016-05-10 14:11:00 · 508 阅读 · 0 评论 -
JSON解析-系统方法和第三方JSONKit的简单实用
一、JSON解析 系统自带方式 //1.获取路劲 NSString *fielPath = [[NSBundle mainBundle]pathForResource:@"Student.json" ofType:nil]; //2.讲该路径下的文件(json)转化成 二进制数据 NSData *data = [NSData dataWithContent原创 2016-05-10 14:58:33 · 1294 阅读 · 0 评论 -
XML解析-第三方和系统方法
一、DOM树状解析 一个个节点解析GData的抓准备工作 1.导入动态库: libxml2.dylib 2.在buid setting里面搜索 header search paths ,添加//usr/include/libxm2 3.在buid setting里面搜索 other linker flags ,添加 -lxml2原创 2016-05-10 17:29:57 · 1054 阅读 · 0 评论 -
iOS中sqlite3的简单应用
一、简单的语句 SQLite 1.创建表、删除表 2.添加、删除、修改、查找----数据 3.常用的SQL语句 4.创建表格 : create table student ( name text, sex text, age integer) (创建名为Student的表格内容为 name ***)原创 2016-05-11 17:03:43 · 683 阅读 · 0 评论 -
ios 学习之 NSPredicate 模糊、精确、查询
简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取。定义(最常用到的方法):[cpp] view plaincopyNSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *), ...]原创 2016-06-20 16:49:25 · 335 阅读 · 0 评论