自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 iOS如何提高tableView的性能

a、重用cell  我们都知道申请内存是需要时间,特别是在一段时间内频繁的申请内存将会造成很大的开销,而且上tebleView中cell大部分情况下布局都是一样的,这个时候我们可以通过回收重用机制来提高性能。  b、避免content的重新布局  尽量避免在重用cell时候,对cell的重新布局,一般情况在在创建cell的时候就将cell布局好。  c、使用不透明的subView

2015-11-13 21:28:25 482

原创 真机测试、远程推送步骤

真机测试步骤:1,创建开发者证书2,创建APP ID3,添加设备4,创建描述文件远程推送步骤:1,创建远程推送证书2,通过调用系统的方法,向苹果服务器申请deviceToken3,将deviceToken和远程推送证书发送给第三方服务器(信鸽、极光等),由第三方服务器将我们想要推送给用户的信息发送给苹果服务器4,由苹果服务器将需要推送的消息通过devic

2015-11-13 14:04:55 576

原创 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=armv7 armv7s)

当运行工程出现 错误代码:No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=armv7 armv7s) 时,按照上图设置选择那栏         设置为NO就 ok啦

2015-11-09 21:19:47 607

原创 iOS设置Launch Image 启动图片

前面的设置参照下面博客http://blog.sina.com.cn/s/blog_6c97abf10102voui.html如果启动不行 记得clear 一下工程如果要使启动页停留一段时间 只需要在 AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithO

2015-10-30 19:56:35 637

原创 C 博客快捷键

快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl + Q插入链接 Ctrl + L插入代码 Ctrl + K插入图片 Ctrl + G提升标题 Ctrl + H有序列表 Ctrl + O无序列表 Ctrl + U横线 Ctrl + R撤销 Ctrl + Z重做 Ctrl + Y

2015-10-23 19:58:36 418

原创 CoreData(数据库升级 )版本迁移-iOS App升级安装

如果IOS App 使用到CoreData,并且在上一个版本上有数据库更新(新增表、字段等操作),那在覆盖安装程序时就要进行CoreData数据库的迁移,具体操作如下:1.选中你的mydata.xcdatamodeld文件,选择菜单editor->Add Model Version  比如取名:mydata2.xcdatamodel2.设置当前版本    选择上级mydata.

2015-10-23 19:55:43 4917

原创 协议跟代理的理解

// 这是正式的协议  定义一组方法规范,实现此协议的类必须实现对应的方法// oc 里面虽然没有多继承,但是一个类可以遵守多个协议,这样间接地实现了多继承@required // 必须执行的(默认的)#pragma mark 赚钱-(void)makeMoney;@optional // 可以选择性执行的-(void)lookAfterBaby;照英文字面來看,@

2015-10-22 18:58:36 350

原创 iOS是伪多任务?

iOS是伪多任务?      Android系统原生就支持多任务,而iOS系统是从4开始的。它的多任务并不是传统意义上的多任务,不是任何应用进程都可以在后台自由运行。真正做到支持多任务的只有苹果Safari和Mail,很多苹果亲生的应用也都并不支持。      对于第三方应用,可以开放的后台运行接口只有音频播放(如QQ音乐)、地理位置检测(如谷歌地图)和网络电话(如Skype)等。

2015-10-16 13:37:50 1434

原创 iOS随机数

如果要随机一个[a, b]范围内的整数  arc4random() % (b - a + 1) + a;定义颜色的宏:#define color arc4random()%256/255.0

2015-10-16 13:35:54 407

原创 ARC下的block的循环引用问题

第一种:     __weak ViewController *MySelf = self;第二种:     __weak typeof(self) MySelf = self;

2015-10-15 17:28:15 423

原创 iOS隐藏导航栏或返回按钮

一,隐藏导航栏隐藏导航栏1,self.navigationController.navigationBarHidden = YES;2,[self.navigationController setNavigationBarHidden:YES animated:YES];二,返回按钮1,以空替代    UIBarButtonItem *temporaryBarBut

2015-10-13 20:15:49 1211

原创 UIView与CALayer的理解

1//初始化一个CALayer--CALayer是含隐式动画的    _layer = [[CALayer alloc] init];    //设置CALayer的颜色    _layer.backgroundColor = [UIColor orangeColor].CGColor;    _layer.frame = CGRectMake(0, 0, 100, 100);

2015-10-13 19:39:34 532

原创 从StoryBord取出控制器并跳转的问题总结

第一种: ActivityDetailViewController *detailVC = [self.storyboard instantiateViewControllerWithIdentifier:@"活动详情"];第二种ActivityDetailViewController *detailVC = [[UIStoryboard storyboardWithNam

2015-10-11 14:55:06 1254

原创 iOS导航栏,标签视图的透明度处理

UINavigationController:导航控制器   UITabBarController:标签视图控制器    这两句话是对64,49两个高度做处理的方法    self.navigationController.navigationBar.translucent = NO;    self.tabBarController.tabBar.transluc

2015-10-09 20:20:14 460

原创 单例的三种写法,static的理解

(一)在.h文件#pragma mark 创建单例的方法//类名(即 +(SharedData *))//id类型的话,外面使用的时候只知道是对象类型//instancetype可以动态识别是哪一种对象类型//开发者通常使用share 系统默认是default(即defaultData)//起名习惯:share + 类名+(instancetype)shareD

2015-10-08 23:11:44 1162

原创 程序运行时遵循的UIApplicationDelegate协议

UIApplicationDelegate 一张图可以便可清晰知道每个代理方法的意思

2015-10-07 13:20:08 423

原创 iOS网络编程学习

影音视频播放     音频播放   流媒体(在线直播)  富文本HTTP 协议:           Hyper Text Transfer Protocol (超⽂文本传输协议)是用于从万维⺴服务器传送超文本到本地浏览器的传输协议,HTTP 是一个应⽤用层协议,由请求和响应构成,是一个标准的客户端服务器型。了解C/S模式:          Client和Se

2015-10-07 13:00:24 420

原创 XML,JSON数据结构解析

解析:从事先规定好的格式中提取数据解析的前提:提前约定好格式、数据提供方按照格式提供数据、数据获取方则按照格式获取数据XML数据结构:     概念:Extensible Markup language (可扩展标记语言),主流数据格式之一,可以用来存储和传输数据。     功能:1,数据交换      2,内存管理     3,用做配置文件     语法:

2015-10-07 12:56:20 538

原创 存储区划分

从高到低(内存地址从大到小)1,栈区:栈内存返回是不安全的,禁⽌止!!!2,堆区:内存手动分配,手动释放3,静态区:一,只初始化一次                    二,如果初始没有给值,默认值为0                    三,只有程序退出才释放(永远存在)将变量定义的类型前加static,则该变量存储在静态存储区4,常量区:常量占⽤用内存,

2015-10-07 12:52:48 617

原创 iOS封装的三个步骤

1,目的2,功能3,实现:三原则(通用,方便,隐私)

2015-10-07 12:47:35 716

原创 IOS开发中的几种设计模式介绍(思想)

ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~(一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求。列表row个数delegate自定义的delegate

2015-10-07 12:41:15 1669

原创 iOS数据的持久化(沙盒)

什么是数据存储:数据的永久存储。为什么要做数据持久化:存储在内存中的数据,程序关闭,内存释放,数据丢失。这种数据时临时的。数据持久化的本质:数据保存成文件,存储到程序的沙盒中。沙盒机制:       每个应用程序位于文件系统的严格控制部分       每一个应用程序在iOS系统内都放在了统一的文件夹目录下       沙盒本质就是一个文件夹,名字是随机分配的

2015-10-06 15:19:05 406

原创 iOS本地的缓存的方式

1、    NSKeyedArchiver(归档)采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。2、    NSUserDefaults:用来保存应用程序设置和属性、用户保存的数据。用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:NSD

2015-09-28 14:42:21 797

原创 iOSARC下block,代理声明属性

1,block用copy的原因     声明block属性是在栈区     把block块从栈区拷贝到堆区,防止其他地方使用之后被释放掉2,代理用assign的原因    代理人的属性一定要用assign修饰,防止的是父类对象作为子类对象代理人的时候引起的循环引用,造成内存泄漏

2015-09-23 14:38:22 347

转载 iOS#import与@class的区别

j#import与@class的区别1.import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑,后面会再告诉你。2.在头文件中, 一般只需要知道被引用的类的名称就可以了。 不需要知道其内部的实体变量和方法,所以在头文件中一般使用@class来声明这个名称是类的名称。 而在实现类里面,因为会用

2015-09-21 15:46:17 361

原创 ios设置图片为圆形

//设置图片为圆形(图片必须为正方形,假如图片的长度为300,则设置时为300的一半125)    self.pictureImage.layer.masksToBounds = YES;    self.pictureImage.layer.cornerRadius = self.pictureImage.frame.size.width/2;

2015-09-14 16:00:17 569

原创 iOS Frame和bounds的区别

Frame和bounds的区别   1,bounds相对于自身来说的,它的x、y永远不会发生变化(0,0),但是       它的宽高改变之后,宽高就会发生改变   2,frame是相对于父视图来说的,如果x、y发生改变,那么它的位置就会发生改变

2015-09-14 15:52:17 642

转载 理解strong与weak)强引用与弱引用转载自《http://blog.sina.com.cn/s/blog_7c8dc2d50101lc08.html》

__weak 和 __strong 会出现在声明中默认情况下,一个指针都会使用 __strong属性,表明这是一个强引用。这意味着,只要引用存在,对象就不能被销毁。这是一种所期望的行为:当所有(强)引用都去除时,对象才能被收集和释放。不过,有时我们却希望禁用这种行为:一些集合类不应该增加其元素的引用,因为这会引起对象无法释放。在这种情况下,我们需要使用弱引用(不用担心,内置的集

2015-09-14 15:28:01 842

原创 switch和if判断的个人理解

//以选择开关的实现方法为例-(void)segmentedAction:(UISegmentedControl *)sender{    //通过 sender.selectedSegmentIndex 判断选中的哪一个 segmented    if (sender.selectedSegmentIndex == 0) {       self.backgroundColo

2015-09-14 10:46:56 591

转载 IOS开发—事件处理,触摸事件,UITouch,UIEvent,响应者链条,手势识别

1龙仔阿宝IOS开发—事件处理,触摸事件,UITouch,UIEvent,响应者链条,手势识别

2015-09-10 16:20:26 1002

原创 iOS懒加载

ss懒加载的好处:1> 不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强2> 每个属性的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合3>只有当真正需要资源时,再去加载,节省了内存资源。

2015-09-10 14:18:51 740

原创 iOS内存警告

1#pragma mark收到内存警告,- (void)didReceiveMemoryWarning{    [super didReceiveMemoryWarning];    // 如果控制器执行了 viewDidLoad 方法(进行了加载过程),并且当前控制器控制的 view 没有显示在 window 上//    则对控制器控制的 view 进行释放

2015-09-10 10:26:35 411

原创 宏定义三目运算符

//第一版本#define MAXValue(A,B) A > B ? A : B//第二版本#define MAXValue1(A,B) (A) > (B) ? (A) : (B)//第三个版本#define MAXValue2(A,B) ((A) > (B) ? (A) : (B))//第四个版本#define MAXValue4(A,B) ({int __a =

2015-09-09 23:10:49 6731

原创 深拷贝,浅拷贝

1// //NSString不可变的字符串使用copy是浅拷贝//        NSString *name1 = [[NSString alloc]initWithFormat:@"%@",@"gxm"];//        NSLog(@"%lu",name1.retainCount);//        NSString *name2 = [name1 copy];//

2015-09-09 20:04:26 339

原创 @property 属性理解

1@property (nonatomic,copy)NSString *name;@property (nonatomic,assign)NSInteger age;//不需要在dealloc中release/* 属性 下面这句话相当于做了三件事1,声明了一个实例变量_name2,实现了setter方法3,实现了getter方法property的属性有三类

2015-09-09 20:03:24 625

原创 ARC,MRC理解

1/*    oc里面有三种  ARC MRC gc   java里面有垃圾回收机制 1. 人工引用计数-MRC(MannulReference Counting) 2. 自动引用计数-ARC(AutomaticReference Counting) 在MRC的内存管理模式下,与对变量的管理相关的方法有:retain,release和autorelease。retain和r

2015-09-09 20:00:44 495

原创 类目,延展的简单了解

1//类目跟原始类方法具有同等关系,类目的子类也可以继承他的方法    //Category(类目、类别、分类) 主要用来给没有源代码的类添加方法        //如果Category里面写了跟原始类重名的方法,如果这个方法是实例方法(-),则外面使用的是原始类的方法,如果这个方法是类方法(+),则外面使用的是Category里面的方法//延展,Extension作用是管理私有方

2015-09-09 16:57:40 342

原创 block简单入门

// int array[10]  类型是int[10] 函数名是array        // 变量命名规则:1.只能由数字、字母、下划线组成,并且数字不能开头        //             2.不可以与系统保留字同名        //             3.不能使用重复的变量名        // int (*point)(int x, int y);

2015-09-09 16:09:55 452

原创 字典集合

//一,字典--NSDictionary   key键找到唯一的value 值        //      特点:1,只能存对象//           2,字典是无序的//           3,key 值不可以重复  (如果重复,保留前面的键值对)//           4, value 值 可以重复//           5, key 值 和 value 值

2015-09-09 15:52:16 358

原创 字符串,数组

/* // 字符串创建方法(不可变的字符串)         //这是第一种创建方式(也是最简单的)        NSString *name1 = @"xiaoming"; // NSString也是一个类         //第二种创建方式(对于NSString,这种方式不常见)        NSString *name2 = [[NSString alloc]in

2015-09-09 15:44:33 366

空空如也

空空如也

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

TA关注的人

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