- 博客(36)
- 收藏
- 关注
转载 NSPredicate的用法
一般来说这种情况还是蛮多的,比如你从文件中读入了一个array1,然后想把程序中的一个array2中符合array1中内容的元素过滤出来。正 常傻瓜一点就是两个for循环,一个一个进行比较,这样效率不高,而且代码也不好看。其实一个循环或者无需循环就可以搞定了,那就需要用搞 NSPredicate这个类了~膜拜此类~1)例子一,一个循环NSArray *arrayFi
2016-01-14 09:18:14 273
转载 UIsearchController
UISearchBar和UIDisplayController是网上最常见的也算是最简单的,也有使用Searh Bar Search Display Controller的控件的,本文就简单的使用Search Bar和UITableView实现搜索Demo的,最上面的就是搜索栏,之前的就是TableView:为了实现搜索需要声明委托 UISearchBa
2016-01-14 09:17:19 432
原创 UI第二十三天:动画
⼀、动画的使⽤场景 iOS中的动画是指⼀些视图上的过渡效果 合理利⽤动画能提⾼⽤户体验 UIView的属性动画CALayer动画 UIView动画 UIViewTransition动画⼆、UIView动画frame:视图框架 center:视图位置 bounds:视图⼤⼩
2015-12-15 17:55:56 316
转载 关于iOS多线程,你看我就够了
在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案例,在实际使用中感受它们的区别。还有一点需要说明的是,这篇文章将会使用 Swift 和 Objective-c 两种语言讲解,双语幼儿园。OK,let's begin!概述这篇文章中,我不会说多线程是什么、线程和进程的区别、多线程有什么用,当然我也不会说什么是串行、
2015-12-14 22:20:21 319
原创 UI第二十二天:多线程
/* 进程:正在活动(运行的)一个运用程序就是一个进程 每一个进程至少有一条线程叫主线程 线程:每一个线程都是独立的可以执行任务 除了主线程以为的都叫子线程 子线程可以有很多个但是线程是耗费资源的 (一般最多不超过5条注:3条最佳) 程序退出后会清空线程的任务 主线程操作什么样
2015-12-14 19:53:35 269
原创 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 260
原创 UI第二十一天:集合视图
// CocoPods添加第三方框架的-(void)addUICollectionView{ //创建一个网状结构布局 UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayoutalloc]init]; // 设置网状结构的具体属性 // 设置行间距 l
2015-12-10 20:13:00 346
原创 UI第十九天:数据库
数据库管理系统 常⻅数据库 1. SQL2. My SQL3. Oracle什么是数据库 1. 以⼀定⽅式储存在⼀起; 2. 能为多个⽤户共享; 3. 具有尽可能⼩得冗余度; 4. 与程序彼此独⽴的数据集合;SQL语句关系型数据库使⽤数据表管理和存储数据1. 创建新的数据库 2. 创建新的数据库表
2015-12-08 17:51:53 349
原创 UI第十八天:数据持久化
/* 沙盒机制 1.每个app安装到手机或者模拟器上都会自动生成3个文件夹这3个文件夹可以理解为这个app沙盒 2.并且每个app的文件夹都是相对独立的只能自己的应用去访问不可以相互访问 3.文件夹中储存的是代码以外的所有数据也就是说咱们的持久化文件(缓存文件)可以储存到文件夹中 *///打印沙盒个个文件夹路径-(void)path{ /*
2015-12-07 20:02:45 252
原创 UI第十七天:图⽚异步下载、KVO
⼀、异步下载图⽚ 真实开发中,⺴络接⼝返回的JSON或XML数据中,通常不会直接包 含图⽚,⽽是给出图⽚的URL。因为HTTP协议是超⽂本传输协议,所以可以传输图⽚。图⽚下载与普通⺴络请求流程相同: 1、创建⼀个request。 2、建⽴urlConnection。 3、使⽤请求到的数据。ImageDownloader图⽚下载是iOS开发中常⽤的功能,但系统并未提供
2015-12-04 17:47:26 340
原创 UI第十六天:⺴络编程
⼀、HTTP协议的概念 HTTP协议,Hyper Text Transfer Protocol(超⽂本传输协议)是 ⽤于从万维⺴服务器传送超⽂本到本地浏览器的传输协议,HTTP是 ⼀个应⽤层协议,由请求和响应构成,是⼀个标准的客户端服务器 模型。Client和Server常常分别处在相距很远的两台计算机上,Client程序的 任务是将⽤户的要求提交给Server程序,再将Server程序返
2015-12-03 19:18:43 353
原创 UI第十五天:XML、JSON数据结构解析
⼀、解析的基本概念 所谓“解析”:从事先规定好的格式中提取数据 解析的前提:提前约定好格式、数据提供⽅按照格式提供数据、 数据获取⽅则按照格式获取数据 iOS开发常⻅的解析:XML解析、JSON解析⼆、XML数据结构 XML:Extensible Markup language(可扩展标记语⾔),主流数 据格式之⼀,可以⽤来存储和传输数据
2015-12-02 20:07:34 375
原创 UI第十四天:UI⾼级可视化设计
⼀、Interface Builder 可视化编程 简称IB,是Mac OS X和iOS平台下⽤于设计和测试⽤户界⾯的 应⽤程序。 提供了拖放⾯板,可以将控件拖放到屏幕上。IB创建.xib⽂件,包括视图布局,以XML格式存储。 程序运⾏后,.xib⽂件中的内容编译为.nib⽂件(⼆进制⽂件), 存储在⼯程包中。- (id)initWithNibName:(NSS
2015-11-30 20:50:23 427
原创 UI第十三天: 标签视图
UITabBarController//创建一个UITarBarController的子类//把UITarBarController作为window的根视图控制器显示出来//显示图片原有颜色 two.tabBarItem.image =[[UIImage imageNamed:@"2"]imageWithRenderingMode:UIImageRenderingMode
2015-11-27 18:40:35 245
原创 UI第十二天:通讯录实战
⼀、模态viewController程序中切换⻚⾯,可以使⽤UINavigationController。通过导航功能实现⻚⾯切 换。某种情况下,可以使⽤视图控制器的⼀对⽅法实现切换⻚⾯presentViewController:animated:completion: 展⽰新的⻚⾯dismissViewControllerAnimated:completion: 从新⻚⾯返回
2015-11-25 19:02:29 425
原创 UI第十一天:UITableView ⾼级
⼀、⾃定义cell ⾃定义cell就是创建⼀个UITableViewCell的⼦类。 把cell上的控件创建都封装在⼦类中,简化UIViewController中的代 码 ⼦视图控件添加到cell的contentView上。cell中声明⼀个Model类型的属性,viewController中获取到Model对 象后赋值给cell的Model属性, cell中重写Mod
2015-11-24 19:53:27 243
原创 UI第十天:UITableView 编辑
⼀、tableView编辑 编辑步骤: 1.开启TableViwe编辑状态 2.允许那个分区的那行是可以编辑的(默认是都能编辑) 3.指定可以编辑样式 (删除 or 添加) 4.完成编辑 完成编辑步骤: 1.操作数据源数组(添加或删除) 2.刷新UI界面-(void)edit:(UIBarButtonItem *)bar{
2015-11-23 22:42:33 249
原创 UI第九天:UITableView表视图
⼀、表视图 表视图 UITableView,iOS中最重要的视图,随处可⻅。 表视图通常⽤来管理⼀组具有相同数据结构的数据。UITableView继承⾃UIScrollView,所以可以滚动 表视图的每⼀条数据都是显⽰在UITableViewCell对象中 表视图可以分区显⽰数据,每个分区称为⼀个section,每⼀⾏称为 row,编号都是从0开始表视图的创
2015-11-21 09:39:14 271
原创 UI第八天:UINavigationController、界⾯通信
⼀、UINavigationController UINavigationController:导航控制器,是iOS中最常⽤的多视图控制器 之⼀,它⽤来管理多个视图控制器。 导航控制器可以认为是管理控制器的控制器,主要管理有层级关系的 控制器。创建UINavigationController继承于UIViewController,以栈的⽅式管理所 控制的视图控制器,⾄少要有⼀个被管
2015-11-19 22:44:30 317
原创 UI第七天:UIScrollView、UIPageContro
⼀、UIScrollView的常⽤属性 UIScrollView是可以滚动的view,UIView本⾝不能滚动,⼦类 UIScrollview拓展了滚动⽅⾯的功能。 UIScrollView是所有滚动视图的基类。以后的UITableView, UITextView等视图都是继承于该类。UIScrollView核⼼功能UIScrollview主要专⻓于两个⽅⾯: 滚动:conte
2015-11-18 21:06:28 354
原创 UI第六天::UIControl及其⼦类
⼀、UISegmentedControl的使⽤ UISegmentedControl是iOS中的分段控件。 每个segment都能被点击,相当于集成了若干个button。 通常我们会点击不同的segment来切换不同的view。常⽤⽅法和属性initWithItems: //UISegmentedControl独有的初始化⽅法,⽤来创建多个分段 setTitle: forS
2015-11-17 19:18:14 296
原创 UI第五天:设计模式、⼿势识别器
⼀、target/action设计模式 耦合是衡量⼀个程序写的好坏的标准之⼀, 耦合是衡量模块与模块之间关联程度的指标 “⾼内聚,低耦合”是⾯向对象编程的核⼼思想。⼆、代理设计模式 当⼀个类的某些功能需要被别⼈来实现,但是既不明确是些什么 功能,⼜不明确谁来实现这些功能的时候,委托模式就可以派上⽤ 场。 ⺫的是为了降低类之间的耦合性。
2015-11-16 19:31:05 342
原创 UI第四天:事件处理
⼀、事件的基本概念 UIEvent:事件,是由硬件捕捉的⼀个表⽰⽤户操作设备的对象。 分三类:触摸事件、晃动事件、远程控制事件触摸事件:⽤户通过触摸设备屏幕操作对象、输⼊数据。⽀持多点 触摸,包含1个到多个触摸点⼆、触摸的基本概念 UIView⽀持触摸事件(因为继承于UIResponder),⽽且⽀持多 点触摸。 需要定义UIView⼦类,实现触摸相关的⽅法。
2015-11-13 19:15:26 274
原创 UI第三天:⾃定义视图、视图控制器
⼀、⾃定义视图 自定义视图步骤 1.创建了一个UIview类 2.重写新类的初始化方法 3.把想添加的视图封装到新类里面(初始化到新类中) 4.为了方便外部进行赋值取值把添加的视图写成属性(别忘了deacllo释放) 5.测试一下; 自定义视图的好处 : 提高工作效率 大大提高代码的复用性l
2015-11-12 21:06:50 325
原创 UI第二天:第⼆讲:基础视图、程序启动流程
⼀、UITextField UITextField(输⼊框):是控制⽂本输⼊和显⽰的控件。在App中UITextField 出现频率也⽐较⾼。 iOS系统借助虚拟键盘实现输⼊,当点击输⼊框,系统会⾃动调出键盘,⽅便 你进⼀步操作。在你不需要输⼊的时候,可以使⽤收回键盘的⽅法,收回弹出的 键盘。UITextField和UILabel相⽐,UILabel主要⽤于⽂字显⽰,不能编辑,
2015-11-11 21:47:18 282
原创 UI第一天:UIView及其⼦类
⼀、UIView iOS概述iOS是Apple公司的移动操作系统UI概述UI(User Interface):⽤户界⾯,⽤户能看到的各种各样的⻚⾯元素。iOS App = 各种各样的UI控件 + 业务逻辑和算法.想要开发出⼀款精美的应⽤程序,需要熟练掌握各种UI控件的⽤ 法。UIWindowwindow是窗⼝,每个app都需要借助window将内容展现给⽤户看。
2015-11-10 21:24:09 294
原创 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 267
原创 OC第九天:内存管理初级
⼀、内存管理的⽅式。 为什么要使⽤内存管理在⼀个拥有数⼗个甚⾄是上百个类的⼯程⾥,查找内存问题极其困 难。了解内存常⻅问题,能帮我们减少出错⼏率。 内存问题体现在两个⽅⾯:内存溢出、野指针异常。内存溢出iOS给每个应⽤程序提供了⼀定的内存,⽤于程序的运⾏。⼀旦超出内存上限,程序就会Crash。野指针异常对象内存空间已经被系统回收,仍然使⽤指针操作这块内存。野指 针异常是
2015-11-06 17:47:04 391
原创 OC第八天:属性
⼀、属性。 属性是Objective-C 2.0定义的语法,为实例变量提供了setter、 getter⽅法的默认实现 能在⼀定程度上简化程序代码,并且增强实例变量的访问安全性。属性的定义属性的声明:使⽤@property声明属性@property NSString *name;相当于@interface中声明了两个⽅法(setter、getter):- (void)s
2015-11-04 20:47:17 266
原创 oc第七天:类的扩展
⼀、掌握NSDate的使⽤NSDate是Cocoa中⽤于处理⽇期和时间的基础类,封装了某⼀给定的 时刻(含⽇期,时间,时区)。使⽤+date⽅法获取当前时间 例如:NSDate *nowDate = [NSDate date]; 注意NSLog(@“%@”,nowDate);⽆论你是哪个时区的时间,打印时总 是打印对应的0时区时间。NSTimeInterval(即dou
2015-11-03 20:39:32 269
原创 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 282
原创 OC第五天:字典、集、数组排序
⼀、字典类字典⽤于保存具有映射关系(key-value对)数据的集合。⼀个key-value对认为是⼀个条⺫(Entry),字典是存储key-value 对的容器。字典类的特点与数组不同,字典靠key存取元素。 key不能重复,value必须是对象。 键值对在字典中是⽆序存储的。 字典分:不可变字典(NSDictionary)和可变字典 (NSMutableDictio
2015-10-30 19:16:05 431
原创 OC第四天:NSString、NSArray、NSNumber
⼀、使⽤苹果帮助⽂档苹果帮助⽂档苹果每次iOS版本的升级,都会添加或更新⼤量API,并提供相应的 参考⽂档。 开发者很难记忆所有的API。 学会使⽤苹果帮助⽂档是开发者的⼀项技能。⽂档基本信息Inherits from 继承⾃ Conforms to 遵循什么协议 Framework 属于哪个框架 Availability 什么时候可⽤的 Declared
2015-10-29 22:07:18 303
原创 OC第三天:继承、初始化⽅法、便利构造器
⼀、继承继承的上层:⽗类,继承的下层:⼦类。继承是单向的,不能相互继承。继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和⾏ 为。⼦类能继承⽗类全部的特征和⾏为。⾯向对象提供了继承语法,能⼤⼤简化代码。把公共的⽅法和实例 变量写在⽗类⾥,⼦类只需要写⾃⼰独有的实例变量和⽅法即可。继承既能保证类的完整,⼜能简化代码继承特点OC中只允许单继承。
2015-10-28 20:56:16 354
原创 OC第二天:实例变量可⻅度、⽅法
⼀、实例变量可⻅度实例变量的可⻅度⼆、⽅法⽅法分类OC中的⽅法分两种:类⽅法和实例⽅法。类⽅法:只能类使⽤,例如:+(id)alloc 注:类⽅法中不能使⽤实例变量 实例⽅法:只能对象使⽤,例如: -(void)sayHi⽅法名删除:类型标识,返回类型,参数类型,参数名,空格。例如: replaceObjectAtIndex:withObje
2015-10-27 21:41:49 459
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人