自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

luchong的博客

gogogo!!!

  • 博客(36)
  • 收藏
  • 关注

转载 NSPredicate的用法

一般来说这种情况还是蛮多的,比如你从文件中读入了一个array1,然后想把程序中的一个array2中符合array1中内容的元素过滤出来。正 常傻瓜一点就是两个for循环,一个一个进行比较,这样效率不高,而且代码也不好看。其实一个循环或者无需循环就可以搞定了,那就需要用搞 NSPredicate这个类了~膜拜此类~1)例子一,一个循环NSArray *arrayFi

2016-01-14 09:18:14 253

转载 UIsearchController

UISearchBar和UIDisplayController是网上最常见的也算是最简单的,也有使用Searh Bar Search Display Controller的控件的,本文就简单的使用Search Bar和UITableView实现搜索Demo的,最上面的就是搜索栏,之前的就是TableView:为了实现搜索需要声明委托 UISearchBa

2016-01-14 09:17:19 406

原创 UI第二十三天:动画

⼀、动画的使⽤场景 iOS中的动画是指⼀些视图上的过渡效果 合理利⽤动画能提⾼⽤户体验                                          UIView的属性动画CALayer动画 UIView动画 UIViewTransition动画⼆、UIView动画frame:视图框架 center:视图位置 bounds:视图⼤⼩

2015-12-15 17:55:56 290

转载 关于iOS多线程,你看我就够了

在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案例,在实际使用中感受它们的区别。还有一点需要说明的是,这篇文章将会使用 Swift 和 Objective-c 两种语言讲解,双语幼儿园。OK,let's begin!概述这篇文章中,我不会说多线程是什么、线程和进程的区别、多线程有什么用,当然我也不会说什么是串行、

2015-12-14 22:20:21 297

原创 UI第二十二天:多线程

/*     进程:正在活动(运行的)一个运用程序就是一个进程     每一个进程至少有一条线程叫主线程     线程:每一个线程都是独立的可以执行任务     除了主线程以为的都叫子线程     子线程可以有很多个但是线程是耗费资源的     (一般最多不超过5条注:3条最佳)     程序退出后会清空线程的任务          主线程操作什么样

2015-12-14 19:53:35 247

原创 Swift 学习1

//基础类型及常量变量var str = "Hello, playground"var a:Int =5    a =6    a =1_0000_0000var 你好 ="小明"    你好 ="金凤"    print(你好)let minUInt8Value = Int16.min

2015-12-12 17:34:14 238

原创 UI第二十一天:集合视图

// CocoPods添加第三方框架的-(void)addUICollectionView{    //创建一个网状结构布局    UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayoutalloc]init];    // 设置网状结构的具体属性    // 设置行间距    l

2015-12-10 20:13:00 330

原创 UI第十九天:数据库

数据库管理系统 常⻅数据库 1. SQL2. My SQL3. Oracle什么是数据库 1. 以⼀定⽅式储存在⼀起; 2. 能为多个⽤户共享; 3. 具有尽可能⼩得冗余度; 4. 与程序彼此独⽴的数据集合;SQL语句关系型数据库使⽤数据表管理和存储数据1. 创建新的数据库 2. 创建新的数据库表

2015-12-08 17:51:53 322

原创 UI第十八天:数据持久化

/* 沙盒机制 1.每个app安装到手机或者模拟器上都会自动生成3个文件夹这3个文件夹可以理解为这个app沙盒 2.并且每个app的文件夹都是相对独立的只能自己的应用去访问不可以相互访问 3.文件夹中储存的是代码以外的所有数据也就是说咱们的持久化文件(缓存文件)可以储存到文件夹中 *///打印沙盒个个文件夹路径-(void)path{    /*

2015-12-07 20:02:45 229

原创 UI第十七天:图⽚异步下载、KVO

⼀、异步下载图⽚ 真实开发中,⺴络接⼝返回的JSON或XML数据中,通常不会直接包 含图⽚,⽽是给出图⽚的URL。因为HTTP协议是超⽂本传输协议,所以可以传输图⽚。图⽚下载与普通⺴络请求流程相同: 1、创建⼀个request。 2、建⽴urlConnection。 3、使⽤请求到的数据。ImageDownloader图⽚下载是iOS开发中常⽤的功能,但系统并未提供

2015-12-04 17:47:26 316

原创 UI第十六天:⺴络编程

⼀、HTTP协议的概念 HTTP协议,Hyper Text Transfer Protocol(超⽂本传输协议)是 ⽤于从万维⺴服务器传送超⽂本到本地浏览器的传输协议,HTTP是 ⼀个应⽤层协议,由请求和响应构成,是⼀个标准的客户端服务器 模型。Client和Server常常分别处在相距很远的两台计算机上,Client程序的 任务是将⽤户的要求提交给Server程序,再将Server程序返

2015-12-03 19:18:43 328

原创 UI第十五天:XML、JSON数据结构解析

⼀、解析的基本概念 所谓“解析”:从事先规定好的格式中提取数据 解析的前提:提前约定好格式、数据提供⽅按照格式提供数据、 数据获取⽅则按照格式获取数据 iOS开发常⻅的解析:XML解析、JSON解析⼆、XML数据结构 XML:Extensible Markup language(可扩展标记语⾔),主流数 据格式之⼀,可以⽤来存储和传输数据

2015-12-02 20:07:34 348

原创 UI第十四天:UI⾼级可视化设计

⼀、Interface Builder 可视化编程 简称IB,是Mac OS X和iOS平台下⽤于设计和测试⽤户界⾯的 应⽤程序。 提供了拖放⾯板,可以将控件拖放到屏幕上。IB创建.xib⽂件,包括视图布局,以XML格式存储。 程序运⾏后,.xib⽂件中的内容编译为.nib⽂件(⼆进制⽂件), 存储在⼯程包中。- (id)initWithNibName:(NSS

2015-11-30 20:50:23 402

原创 UI第十三天: 标签视图

UITabBarController//创建一个UITarBarController的子类//把UITarBarController作为window的根视图控制器显示出来//显示图片原有颜色    two.tabBarItem.image =[[UIImage imageNamed:@"2"]imageWithRenderingMode:UIImageRenderingMode

2015-11-27 18:40:35 227

原创 UI第十二天:通讯录实战

⼀、模态viewController程序中切换⻚⾯,可以使⽤UINavigationController。通过导航功能实现⻚⾯切 换。某种情况下,可以使⽤视图控制器的⼀对⽅法实现切换⻚⾯presentViewController:animated:completion: 展⽰新的⻚⾯dismissViewControllerAnimated:completion: 从新⻚⾯返回

2015-11-25 19:02:29 402

原创 UI第十一天:UITableView ⾼级

⼀、⾃定义cell ⾃定义cell就是创建⼀个UITableViewCell的⼦类。 把cell上的控件创建都封装在⼦类中,简化UIViewController中的代 码 ⼦视图控件添加到cell的contentView上。cell中声明⼀个Model类型的属性,viewController中获取到Model对 象后赋值给cell的Model属性, cell中重写Mod

2015-11-24 19:53:27 225

原创 UI第十天:UITableView 编辑

⼀、tableView编辑 编辑步骤: 1.开启TableViwe编辑状态 2.允许那个分区的那行是可以编辑的(默认是都能编辑) 3.指定可以编辑样式 (删除 or 添加) 4.完成编辑   完成编辑步骤:   1.操作数据源数组(添加或删除)   2.刷新UI界面-(void)edit:(UIBarButtonItem *)bar{

2015-11-23 22:42:33 230

原创 UI第九天:UITableView表视图

⼀、表视图 表视图 UITableView,iOS中最重要的视图,随处可⻅。 表视图通常⽤来管理⼀组具有相同数据结构的数据。UITableView继承⾃UIScrollView,所以可以滚动 表视图的每⼀条数据都是显⽰在UITableViewCell对象中 表视图可以分区显⽰数据,每个分区称为⼀个section,每⼀⾏称为 row,编号都是从0开始表视图的创

2015-11-21 09:39:14 252

原创 UI第八天:UINavigationController、界⾯通信

⼀、UINavigationController UINavigationController:导航控制器,是iOS中最常⽤的多视图控制器 之⼀,它⽤来管理多个视图控制器。 导航控制器可以认为是管理控制器的控制器,主要管理有层级关系的 控制器。创建UINavigationController继承于UIViewController,以栈的⽅式管理所 控制的视图控制器,⾄少要有⼀个被管

2015-11-19 22:44:30 294

原创 UI第七天:UIScrollView、UIPageContro

⼀、UIScrollView的常⽤属性 UIScrollView是可以滚动的view,UIView本⾝不能滚动,⼦类 UIScrollview拓展了滚动⽅⾯的功能。 UIScrollView是所有滚动视图的基类。以后的UITableView, UITextView等视图都是继承于该类。UIScrollView核⼼功能UIScrollview主要专⻓于两个⽅⾯: 滚动:conte

2015-11-18 21:06:28 327

原创 UI第六天::UIControl及其⼦类

⼀、UISegmentedControl的使⽤ UISegmentedControl是iOS中的分段控件。 每个segment都能被点击,相当于集成了若干个button。 通常我们会点击不同的segment来切换不同的view。常⽤⽅法和属性initWithItems: //UISegmentedControl独有的初始化⽅法,⽤来创建多个分段 setTitle: forS

2015-11-17 19:18:14 274

原创 UI第五天:设计模式、⼿势识别器

⼀、target/action设计模式 耦合是衡量⼀个程序写的好坏的标准之⼀, 耦合是衡量模块与模块之间关联程度的指标 “⾼内聚,低耦合”是⾯向对象编程的核⼼思想。⼆、代理设计模式 当⼀个类的某些功能需要被别⼈来实现,但是既不明确是些什么 功能,⼜不明确谁来实现这些功能的时候,委托模式就可以派上⽤ 场。 ⺫的是为了降低类之间的耦合性。

2015-11-16 19:31:05 323

原创 UI第四天:事件处理

⼀、事件的基本概念 UIEvent:事件,是由硬件捕捉的⼀个表⽰⽤户操作设备的对象。 分三类:触摸事件、晃动事件、远程控制事件触摸事件:⽤户通过触摸设备屏幕操作对象、输⼊数据。⽀持多点 触摸,包含1个到多个触摸点⼆、触摸的基本概念 UIView⽀持触摸事件(因为继承于UIResponder),⽽且⽀持多 点触摸。 需要定义UIView⼦类,实现触摸相关的⽅法。

2015-11-13 19:15:26 253

原创 UI第三天:⾃定义视图、视图控制器

⼀、⾃定义视图 自定义视图步骤     1.创建了一个UIview类     2.重写新类的初始化方法     3.把想添加的视图封装到新类里面(初始化到新类中)     4.为了方便外部进行赋值取值把添加的视图写成属性(别忘了deacllo释放)     5.测试一下;         自定义视图的好处 : 提高工作效率 大大提高代码的复用性l

2015-11-12 21:06:50 303

原创 UI第二天:第⼆讲:基础视图、程序启动流程

⼀、UITextField UITextField(输⼊框):是控制⽂本输⼊和显⽰的控件。在App中UITextField 出现频率也⽐较⾼。 iOS系统借助虚拟键盘实现输⼊,当点击输⼊框,系统会⾃动调出键盘,⽅便 你进⼀步操作。在你不需要输⼊的时候,可以使⽤收回键盘的⽅法,收回弹出的 键盘。UITextField和UILabel相⽐,UILabel主要⽤于⽂字显⽰,不能编辑,

2015-11-11 21:47:18 259

原创 UI第一天:UIView及其⼦类

⼀、UIView iOS概述iOS是Apple公司的移动操作系统UI概述UI(User Interface):⽤户界⾯,⽤户能看到的各种各样的⻚⾯元素。iOS App = 各种各样的UI控件 + 业务逻辑和算法.想要开发出⼀款精美的应⽤程序,需要熟练掌握各种UI控件的⽤ 法。UIWindowwindow是窗⼝,每个app都需要借助window将内容展现给⽤户看。

2015-11-10 21:24:09 271

原创 OC第十天:内存管理⾼级

⼀、属性的内部实现原理 ⼀、assign setter⽅法 @property(nonatomic,assign)NSString *name; - (void)setName:(NSString *)name{ _name = name; }getter⽅法- (NSString *)name{ return _name; }⼆、ret

2015-11-07 17:48:27 245

原创 OC第九天:内存管理初级

⼀、内存管理的⽅式。 为什么要使⽤内存管理在⼀个拥有数⼗个甚⾄是上百个类的⼯程⾥,查找内存问题极其困 难。了解内存常⻅问题,能帮我们减少出错⼏率。 内存问题体现在两个⽅⾯:内存溢出、野指针异常。内存溢出iOS给每个应⽤程序提供了⼀定的内存,⽤于程序的运⾏。⼀旦超出内存上限,程序就会Crash。野指针异常对象内存空间已经被系统回收,仍然使⽤指针操作这块内存。野指 针异常是

2015-11-06 17:47:04 367

原创 OC第八天:属性

⼀、属性。 属性是Objective-C 2.0定义的语法,为实例变量提供了setter、 getter⽅法的默认实现 能在⼀定程度上简化程序代码,并且增强实例变量的访问安全性。属性的定义属性的声明:使⽤@property声明属性@property NSString *name;相当于@interface中声明了两个⽅法(setter、getter):- (void)s

2015-11-04 20:47:17 243

原创 oc第七天:类的扩展

⼀、掌握NSDate的使⽤NSDate是Cocoa中⽤于处理⽇期和时间的基础类,封装了某⼀给定的 时刻(含⽇期,时间,时区)。使⽤+date⽅法获取当前时间 例如:NSDate *nowDate = [NSDate date]; 注意NSLog(@“%@”,nowDate);⽆论你是哪个时区的时间,打印时总 是打印对应的0时区时间。NSTimeInterval(即dou

2015-11-03 20:39:32 245

原创 OC第六天:Block、数组⾼级

⼀、Block语法 Block:块语法,本质上是匿名函数(没有名称的函数)标准C⾥⾯没有Block,C语⾔的后期扩展版本,加⼊了匿名函 数。C++、JS、Swift等语⾔,有类似语法,叫做闭包。Block语法和函数指针很相似。匿名函数:没有名称的函数 int (^Block)(int a,int b)= ^int (int a,int b) // blo

2015-11-02 19:50:50 263

原创 OC第五天:字典、集、数组排序

⼀、字典类字典⽤于保存具有映射关系(key-value对)数据的集合。⼀个key-value对认为是⼀个条⺫(Entry),字典是存储key-value 对的容器。字典类的特点与数组不同,字典靠key存取元素。 key不能重复,value必须是对象。 键值对在字典中是⽆序存储的。 字典分:不可变字典(NSDictionary)和可变字典 (NSMutableDictio

2015-10-30 19:16:05 409

原创 OC第四天:NSString、NSArray、NSNumber

⼀、使⽤苹果帮助⽂档苹果帮助⽂档苹果每次iOS版本的升级,都会添加或更新⼤量API,并提供相应的 参考⽂档。 开发者很难记忆所有的API。 学会使⽤苹果帮助⽂档是开发者的⼀项技能。⽂档基本信息Inherits from 继承⾃ Conforms to 遵循什么协议 Framework 属于哪个框架 Availability 什么时候可⽤的 Declared

2015-10-29 22:07:18 287

原创 OC第三天:继承、初始化⽅法、便利构造器

⼀、继承继承的上层:⽗类,继承的下层:⼦类。继承是单向的,不能相互继承。继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和⾏ 为。⼦类能继承⽗类全部的特征和⾏为。⾯向对象提供了继承语法,能⼤⼤简化代码。把公共的⽅法和实例 变量写在⽗类⾥,⼦类只需要写⾃⼰独有的实例变量和⽅法即可。继承既能保证类的完整,⼜能简化代码继承特点OC中只允许单继承。

2015-10-28 20:56:16 335

原创 OC第二天:实例变量可⻅度、⽅法

⼀、实例变量可⻅度实例变量的可⻅度⼆、⽅法⽅法分类OC中的⽅法分两种:类⽅法和实例⽅法。类⽅法:只能类使⽤,例如:+(id)alloc 注:类⽅法中不能使⽤实例变量 实例⽅法:只能对象使⽤,例如: -(void)sayHi⽅法名删除:类型标识,返回类型,参数类型,参数名,空格。例如: replaceObjectAtIndex:withObje

2015-10-27 21:41:49 432

原创 OC第一天:类和对象

OC的入门基础系列:第一课类与对象

2015-10-26 20:49:00 245

空空如也

空空如也

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

TA关注的人

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