02 2015 档案

(五十九)iOS网络基础之UIWebView简易浏览器实现
摘要:【UIWebView网络浏览器】 通过webView的loadRequest方法可以发送请求显示相应的网站,例如: NSURL *url = [NSURL URLWithString:@"http://m.baidu.com"]; // 创建请求数据 NSURLRequest... 阅读全文

posted @ 2015-02-20 17:52 张大大123 阅读(189) 评论(0) 推荐(0) 编辑

(五十八)NSObject实现多线程、自动释放池的补充
摘要:模拟一个图片下载的场景,图片的下载需要2s,在这期间为了保证程序的流畅,应该把图片的下载放在子线程中进行。 使用NSObject的方法performSelectorInBackground方法即可实现: [self performSelectorInBackground:@selector(se... 阅读全文

posted @ 2015-02-20 16:21 张大大123 阅读(302) 评论(0) 推荐(0) 编辑

(五十七)线程的资源共享、单例的实现
摘要:【资源共享的问题】 例如线程A与B均实现数字Num的加一操作,如果不加以限制,可能A和B先后拿到最初的Num,然后返回Num+1,无法实现Num+1之后再+1。 【互斥锁】 使用互斥锁(@synchronized)来解决,让线程A操作时锁住Num,不允许B的读写,直到A操作完并且写回后,再让B进... 阅读全文

posted @ 2015-02-20 13:40 张大大123 阅读(196) 评论(0) 推荐(0) 编辑

(五十六)iOS多线程之NSOperation
摘要:NSOpertation是一套OC的API,是对GCD进行的Cocoa抽象。 NSOperation有两种不同类型的队列,主队列和自定义队列。 主队列运行于主线程上,自定义队列在后台运行。 【NSBlockOperation】 通过Block创建任务,下面比较主队列和自定义队列的区别: 将自... 阅读全文

posted @ 2015-02-17 10:37 张大大123 阅读(236) 评论(0) 推荐(0) 编辑

(五十五)iOS多线程之GCD
摘要:GCD的全称为Grand Central Dispatch,翻译为大中央调度,是Apple开发的一个多线程编程解决方法。 进程和线程的概念: 正在进行中的程序被称为进程,负责程序运行的内存分配,每一个进程都有自己独立的虚拟内存空间。 线程是进程中一个独立的执行路径,即主线程,主线程有1M的栈... 阅读全文

posted @ 2015-02-16 18:41 张大大123 阅读(166) 评论(0) 推荐(0) 编辑

OC语言(七)Block复习
摘要:看下面一道Block的面试题: int i = 10;void(^myBlock)() = ^{ NSLog(@"%d",i);};i = 100;myBlock(); 经过这个过程后,输出的i应该是10而不是100,在定义block时会将block前面的局部变量进行拷贝,后续的变量改变... 阅读全文

posted @ 2015-02-16 15:17 张大大123 阅读(205) 评论(0) 推荐(0) 编辑

(五十四)涂鸦的实现和截图的保存
摘要:利用touchesMoved来获取各个触摸点,并存入一个数组。 在drawRect方法内,循环生成这些点,当i=0时,使用CGContextMoveToPoint方法移动到起点,其余点都通过CGContextAddLineToPoint方法连线。 这样的问题是起点只有一个,画完一条线如果再开始画... 阅读全文

posted @ 2015-02-16 11:31 张大大123 阅读(294) 评论(0) 推荐(0) 编辑

(五十三)屏幕适配初步
摘要:使用AutoResizing可以快速的完成屏幕的适配,AutoResizing的设置包括外面四条线和内部两条线,外部设置相对位置、内部设置相对大小。 图中给出了Autoresizing的位置,通过鼠标点击相应位置可以实现对不同位置的设定。 四周的线如果被选中,代表特定方向与相应的外边距离保持... 阅读全文

posted @ 2015-02-15 21:24 张大大123 阅读(152) 评论(0) 推荐(0) 编辑

(五十二)触摸事件初步
摘要:iOS中的事件分为三类: 1.触摸事件 2.加速计事件(摇晃等) 3.远程控制事件(例如线控) 响应者对象: 在iOS中不是任何对象都能处理事件,只有继承自UIResponder的对象才能接受和处理消息,称之为“响应者对象”。 UIApplication、UIViewController、U... 阅读全文

posted @ 2015-02-15 19:20 张大大123 阅读(178) 评论(0) 推荐(0) 编辑

(五十一)KVC与KVO详解
摘要:KVC的全称为key value coding,它是一种使用字符串间接更改对象属性的方法。 假设有一个Person类和一个Student类,其中Person类有age、name两个属性,Student多一个no(学号)属性。 1.valueForKey: 方法通过传入一个键值返回一个id对象,K... 阅读全文

posted @ 2015-02-14 21:26 张大大123 阅读(216) 评论(0) 推荐(0) 编辑

GIT版本控制 — GIT与SVN的相互转换 (三)
摘要:git-svn git-svn用于Git和SVN的转换,可以把Git仓库迁移成SVN仓库,反之亦可。 详细介绍可见[1],或者命令行输入git-svn。 Bidirectional operation between a Subversion repository and git. gi... 阅读全文

posted @ 2015-02-14 15:48 张大大123 阅读(1068) 评论(1) 推荐(0) 编辑

Git版本控制 — 日常使用(二)
摘要:本地使用 以下是我的一些日常操作。 (1) 创建版本库# cd /proj# git initInitialized empty Git repository in /proj/.git/ (2) 查看状态# git statusstaged:文件被暂存了modified, unstaged:文件... 阅读全文

posted @ 2015-02-14 15:47 张大大123 阅读(195) 评论(0) 推荐(0) 编辑

GIT版本控制 — 简介与安装 (一)
摘要:简介 GIT与SVN的区别 作为当前最流行的版本控制系统,Git和SVN的几个主要不同之处在于: (1) Git是分布式的版本控制系统,SVN是集中式的版本控制系统。Git可以先把修改提交到本地仓库中, 等到可以上网或方便的时候,再提交到远程仓库中。这无疑更利于项目开发,同时... 阅读全文

posted @ 2015-02-14 15:46 张大大123 阅读(147) 评论(0) 推荐(0) 编辑

(五十)Quartz2D生成图片的一些应用
摘要:应用一:给图片打水印,不应该是画到View的Layer上,而应该画到Bitmap上,产生一张新的图片。 1.首先读入背景图,然后开启一个位图上下文,并将它画在位图上下文上: UIImage *bgImage = [UIImage imageNamed:@"scene"]; /**... 阅读全文

posted @ 2015-02-13 20:43 张大大123 阅读(175) 评论(0) 推荐(0) 编辑

(四十九)Quartz2D自定义控件
摘要:利用Quartz2D来自定义UIImageView: 模仿UIImageView: 设置frame,设置图片。 注意一个细节,自定义的imageView,应该通过重写set方法来设置图片并且重绘,否则只有初始化的时候那个图片才有效。 - (void)setImage:(UIImage *)ima... 阅读全文

posted @ 2015-02-13 16:46 张大大123 阅读(82) 评论(0) 推荐(0) 编辑

(四十八)Quartz2D引擎进阶
摘要:图形上下文栈: 应用,修改过上下文后,下一次画会在这个基础上进行,如果清空状态,需要上下文栈。 可以先把原来的上下文保存起来,然后恢复: - (void)drawRect:(CGRect)rect { CGContextRef ref = UIGraphicsGetCurrentC... 阅读全文

posted @ 2015-02-13 14:43 张大大123 阅读(153) 评论(0) 推荐(0) 编辑

(四十七)Quartz2D引擎初步
摘要:Quartz2D是跨平台的,同时支持iOS与Mac。 支持圆型裁剪,可以实现圆形头像等功能,也支持手势解锁、折线图等的制作。 对于复杂的UI界面,还可以通过Quartz2D将控件内部的结构画出来,可用于自定义控件。 实际上iOS大部分控件都是通过Quartz2D画出来的,一个重要价值是自定义vi... 阅读全文

posted @ 2015-02-13 11:05 张大大123 阅读(142) 评论(0) 推荐(0) 编辑

(四十六)内存管理的复习
摘要:ARC的准则是:只要没有强指针指向对象,就会被销毁。 Tip:不写__weak的都是强指针。 一般对象用strong的目的是为了当前对相在,维护的这个成员也在。 注意循环引用应该一端用weak,一端用strong。 Tip:iOS5以前的retain和现在的strong是一个类型。 一些... 阅读全文

posted @ 2015-02-12 21:19 张大大123 阅读(100) 评论(0) 推荐(0) 编辑

(四十五)Modal 模态窗口 -遮盖
摘要:任何控制器都能通过Modal方式切换。 Modal的默认效果是:新显示的控制器从屏幕底部向上,直到盖住之前的控制器为止。 假设有One和Two两个控制器: One到Two的Modal方法:present...方法。 TwoViewController *two = [[TwoViewContr... 阅读全文

posted @ 2015-02-12 17:36 张大大123 阅读(161) 评论(0) 推荐(0) 编辑

(四十四)TabBarController和NagivationController配合
摘要:如果既要使用TabBar分页,又要使用Nagivation导航,那么只能是TabBar为根,Nagivation为TabBar子视图,每一个TabBar对应一个Nagivation导航的一系列页面。 push的时候隐藏TabBar: 设置Navigation的BackButton颜色: ... 阅读全文

posted @ 2015-02-12 17:20 张大大123 阅读(182) 评论(0) 推荐(0) 编辑

(四十三)UITabBarController和AppDelegate的一些细节
摘要:假设一个UITabBar是V1,V2,V3三个视图的根控制器。 一进入程序的时候,只会加载一个视图V1,也就是说UITabBar是延迟加载的。 Tip:通过代码创建的UITabBar会一次性加载所有视图(特例)。 拿到tabBar: 在AppDelegate中通过window拿到: UIT... 阅读全文

posted @ 2015-02-12 13:14 张大大123 阅读(182) 评论(0) 推荐(0) 编辑

(四十二)tableView的滑动编辑和刷新 -局部刷新和删除刷新 -待解决问题
摘要:tableView的局部刷新有两个方法: 注意这个方法只能用于模型数据的行数不变,否则会出错。 [self.tableView reloadRowsAtIndexPaths: withRowAnimation:] 对于删除数据的刷新(行数改变),应该调用下面的方法:注意传入的是indexPat... 阅读全文

posted @ 2015-02-12 09:09 张大大123 阅读(261) 评论(0) 推荐(0) 编辑

(四十一)数据持久化的NSCoding实现 -实现普通对象的存取
摘要:NSCoding可以用与存取一般的类对象,需要类成为NSCoding的代理,并且实现编码和解码方法。 假设类Person有name和age两个属性,应该这样设置类: .h文件: #import @interface Person : NSObject // 注意要成为代理@property (... 阅读全文

posted @ 2015-02-11 21:42 张大大123 阅读(142) 评论(0) 推荐(0) 编辑

(四十)数据持久化存储的偏好设置实现
摘要:偏好设置一般是用于存储软件的常用设置。 偏好设置存储的本质是plist,不需要关心文件夹和文件即可存储。 偏好设置的存储方式类似于字典存储,使用键值对来保存数据。 保存方法: //创建能够直接访问/Library/Preferences的对象 NSUserDefaults *defaul... 阅读全文

posted @ 2015-02-11 21:20 张大大123 阅读(132) 评论(0) 推荐(0) 编辑

(三十九)数据的持久化存储-plist实现(XML属性表)
摘要:iOS应用数据存储的常用方式: 归档:用某种格式保存数据。 XML属性列表(plist)归档(持久化) Preference 偏好设置 NSKeyedArchiver归档 SQLite3 数据库 效率最高 缺点是SQLite是关系型数据库,将对象存入数据库需要将对象进行转码(使用SQL语句) C... 阅读全文

posted @ 2015-02-11 20:15 张大大123 阅读(182) 评论(0) 推荐(0) 编辑

(三十八)从私人通讯录引出的细节II -数据逆传 -tableView点击 -自定义分割线
摘要:项目中的警告是不会影响app发布的,例如引入第三方类库很容易引入警告。 细节1:跳转的数据传递。 prepareForSegue: sender: 方法是在执行segue后,跳转之前调用这个方法,一般在这里给下一个控制器传递数据。 可以直接在这里获取目标控制器:如果只是简单的修改,不必一定写成真... 阅读全文

posted @ 2015-02-11 15:55 张大大123 阅读(141) 评论(0) 推荐(0) 编辑

(三十七)从私人通讯录引出的细节I -Notification -Segue -HUD -延时
摘要:细节1:账号和密码都有值的时候才可以点击登录按钮,因此应该监听文本框的文本改变。 因为文本框的文本改变代理不能处理,因此应该使用通知Notification。 文本框文本改变会发出通知:通知的前两个参数表示接收者object接收到通知时调用哪个类的哪个函数。 [[NSNotificationCe... 阅读全文

posted @ 2015-02-11 11:46 张大大123 阅读(1730) 评论(0) 推荐(0) 编辑

(三十六)利用AFNetworking进行JSON数据解析
摘要:1.首先要安装CocoaPods,然后在需要AFNetworking的工程根目录建立podfile,内容如下: platform :ios, '7.0'pod ‘AFNetworking' 2.然后在当前目录下执行pod install命令,等待安装完成,打开新生成的工程文件(workspace... 阅读全文

posted @ 2015-02-10 16:26 张大大123 阅读(303) 评论(0) 推荐(0) 编辑

两个新认识
摘要:前几天,跟朋友小聚吹牛,才知道 leancloud 是所谓的 Baas,而它的榜样 parse 是早已经知道的,但一直没有真正关注过,深感这几年技术已经荒废太多。联想到之前的一些反省,觉得要再开始写一下东西了。Baas 大概是新提出来的概念罢,它让可视化的后端开发成为可能,应该是移... 阅读全文

posted @ 2015-02-10 15:45 张大大123 阅读(102) 评论(0) 推荐(0) 编辑

(三十五)控制器的生命周期循环
摘要:控制器有两个已经废除的方法: viewWillUnload与viewDidUnload方法: /** * 控制器的View即将销毁的时候调用 */- (void)viewWillUnload{ [super viewWillUnload];}/** * 控制器的View已经销毁的时候调... 阅读全文

posted @ 2015-02-10 15:26 张大大123 阅读(131) 评论(0) 推荐(0) 编辑

(三十四)NavigationController初步
摘要:为了了解底层,首先不基于UIWindow而基于UIWindow来创建App。 由于Xcode6没有以前的基于UIWindow的空项目,所以选择SingleView,然后删除storyboard,移除BuildSettings里面的main Interface。 然后在AppDelegate中初始... 阅读全文

posted @ 2015-02-10 12:15 张大大123 阅读(133) 评论(0) 推荐(0) 编辑

(三十三)UIApplicationDelegate和程序的启动过程
摘要:移动操作系统有个致命弱点,是app容易受到干扰(来电或者锁屏)。 当app受到干扰时,会产生一系列的系统事件,这时UIApplication会通知其delegate对象,让delegate处理系统事件。 delegate可以处理生命周期事件、系统事件、内存警告等。 ApplicationDele... 阅读全文

posted @ 2015-02-10 10:27 张大大123 阅读(150) 评论(0) 推荐(0) 编辑

(三十三)Xcode项目的重要工程文件
摘要:1.Supporting files内有一个Xxx-Info.plist文件(旧版本Xcode的配置文件叫Info.plist)。因此自定义的plist不要带Info关键词。 这个plist是系统的全局配置,不能删除。 Bundle display name是软件的名称,需要注意的是修改完软件名... 阅读全文

posted @ 2015-02-09 16:24 张大大123 阅读(156) 评论(0) 推荐(0) 编辑

(三十二)DatePicker和自定义键盘
摘要:DatePicker通过设置Locale属性可以设置语言(注意手机语言也会影响到它的显示)。 如果通过代码创建DatePicker,又要设置属性,使用下面的代码,注意locale是个枚举,初始化要填写国家语言的标准写法: 例如中国,使用zh_CN。 例如下面的场景,自定义生日输入键盘,只需要定义... 阅读全文

posted @ 2015-02-09 15:31 张大大123 阅读(150) 评论(0) 推荐(0) 编辑

(三十一)PickerView自定义视图
摘要:例如选择国家,左边是名称右边是国家,不应该使用两列,而是自定义PickerView的一列,可以通过xib来实现。 注意,虽然PickerView也是一列,但是数据源方法是@required,所以必须实现。 因此,核心思想就是一列,自定义PickerView的行视图。 使用viewForRow方法... 阅读全文

posted @ 2015-02-09 14:44 张大大123 阅读(265) 评论(0) 推荐(0) 编辑

(三十)PickerView文字和随机数的使用
摘要:PickerView用于展示供选择的内容(例如日期选取、点菜等)。 有三种情况: 1.每一列都是独立的选取 2.右边的列受到左边列的影响 3.包含图片 PickerView和TableView类似,通过数据源来显示数据,与TableView同样地,让控制器称为其数据源。 但是PickerVi... 阅读全文

posted @ 2015-02-09 13:58 张大大123 阅读(161) 评论(0) 推荐(0) 编辑

通过Java进行网页抓取并生成plist创建代码
摘要:抓取网页的方法: 抓取网页可以通过正则表达式也可以通过Java。 通过firefox浏览器,安装Firebug来查看网页的源代码。 首先将要抓取的部分保存到本地,步骤如下: 1.在要抓取的位置右键,选择使用Firebug查看元素 2.鼠标悬停在特定元素上面时,元素会高亮,找到整个表格数据的标签,... 阅读全文

posted @ 2015-02-09 10:22 张大大123 阅读(338) 评论(0) 推荐(0) 编辑

(二十九)动态单元格 - 循环利用注意全面覆盖信息
摘要:动态单元格可以绑定一个Cell控制器,优点是可以任意定义Cell的样式,然后在控制器里设置Cell的内容,例如布置为下图的样式: 从storyboard绑定标识的方法:设置Identifier后,即可通过出队方法获取这个Cell。 获取这个Cell的方法:这样是自动进行缓存池优化的,缓存... 阅读全文

posted @ 2015-02-09 09:49 张大大123 阅读(121) 评论(0) 推荐(0) 编辑

(二十八)QQ好友列表的展开收缩
摘要:要通过监听HeaderView上面的Button来进行操作: 通过addTarget方法即可,应该将按钮的点击方法封装在HearView控制器内部。 列表收起来的原理: tableView: numberOfRowsInSection: 方法返回0就是不显示,注意要刷新表格。 只要在Group模... 阅读全文

posted @ 2015-02-08 21:51 张大大123 阅读(190) 评论(0) 推荐(0) 编辑

(二十七)QQ好友列表的实现
摘要:QQ好友列表通过plist读取,plist的结构为一组字典,每个字典内有本组的信息和另外一组字典代表好友。 要读取plist,选择合适的数据结构,例如NSArray,然后调用initWithContentsOfFile:方法初始化,文件通过mainBundle的pathForResource::... 阅读全文

posted @ 2015-02-07 15:09 张大大123 阅读(273) 评论(0) 推荐(0) 编辑

(二十六)静态单元格(Cell)
摘要:制作类似iOS系统设置的页面,如果使用代码来实现,将会比较麻烦,可以通过静态单元格技术方便的实现。 注意:静态单元格只支持TableViewController。 可以通过storyboard直接操作单元格。 步骤: 1.设置TableView样式为Static Cells: 2.选中一个C... 阅读全文

posted @ 2015-02-07 15:01 张大大123 阅读(134) 评论(0) 推荐(0) 编辑

(二十五)键盘的设置与TextField细节处理
摘要:设置Return Key类型为Send并且勾选下面的复选框即可实现没有内容时禁用keyboard,有内容自动启用。 文本框左边框与文本留有间距的方法: //文本框左侧留下间距 UIView *leftView = [[UIView alloc] initWithFrame:CGRe... 阅读全文

posted @ 2015-02-07 13:45 张大大123 阅读(133) 评论(0) 推荐(0) 编辑

(二十四)监听键盘的通知和键盘弹出隐藏的View移动
摘要:让控制器监听键盘的通知,注意谁监听,谁的dealloc方法中就要remove,如果非ARC还要调用父类的dealloc方法。 //监听键盘的操作: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selec... 阅读全文

posted @ 2015-02-07 13:03 张大大123 阅读(197) 评论(0) 推荐(0) 编辑

(二十三)通知机制及其应用
摘要:键盘出现后,应该让工具条上升键盘的高度。 注意:键盘的监听是不设置代理的,而是通过通知机制(用于多对象通信)。 通知中心(NSNotificationCenter)用于对象之间的通信,类似于代理(可以在两个对象之间互相传递消息),而通知可以一对多。 通知和代理的区别:后者是一对一,前者可以多对多... 阅读全文

posted @ 2015-02-07 11:12 张大大123 阅读(197) 评论(0) 推荐(0) 编辑

(二十二)常用方法(工具方法)的抽取
摘要:前面实用的根据文字计算尺寸和拉伸图片的方法是很常用的,应该抽取为工具方法,搞一个工具类。 OC里面一般是用分类(Category)来实现这个功能。 分类一般是给系统自带的类扩充一些方法。 拉伸图片的方法应该封装在UIImage类内。 将图片拉伸方法写到分类当中去:尽量声明为类方法,这样方便实用。... 阅读全文

posted @ 2015-02-07 10:55 张大大123 阅读(152) 评论(0) 推荐(0) 编辑

(二十一)即时通信的聊天气泡的实现II
摘要:一些优化: 禁止TableView的点击: self.tableView.allowsSelection = NO; 合并相同的时间: 不需要显示的时间,只要不设置尺寸就行了。 一个if判断的技巧,为了防止把==写成赋值,可以让左边的为非左值: NO == message.hideTime ... 阅读全文

posted @ 2015-02-07 08:59 张大大123 阅读(198) 评论(0) 推荐(0) 编辑

(二十)即时通信的聊天气泡的实现I
摘要:Tip:通过xib和storyboard不可能将一个控件作为ImageView的子控件,只能通过代码的addSubview方法实现。 设置图片的细节:如果button比图片大(为了方便对齐),将图片设置为image而不是background,图片不会被拉伸到失真。 为了保证在不同系统上显示的效果... 阅读全文

posted @ 2015-02-06 19:38 张大大123 阅读(260) 评论(0) 推荐(0) 编辑

(十九)TableView的点击监听和数据刷新(Alert的多种样式) -tag传值的技巧
摘要:要实现监听,要使用代理,控制器要成为TableView的代理。 注意下面的方式是代理方法: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ NSLog... 阅读全文

posted @ 2015-02-06 17:41 张大大123 阅读(227) 评论(0) 推荐(0) 编辑

(十八)TableView实践(多组汽车品牌展示)
摘要:对于多组数据,可能会用到模型的嵌套。 例如多组汽车,每组是一个模型,组内有多辆车的信息,每辆车的信息也是一个模型,相当于模型中有模型。 可以看到,每个item是一个字典,这要创建一个模型,而模型内部的cars数组中每一个元素又是一个字典,即还需要一个模型。 Tip:命名的时候,关于描述的不要... 阅读全文

posted @ 2015-02-06 16:07 张大大123 阅读(132) 评论(0) 推荐(0) 编辑

Oracle中添加自动编号的序列
摘要:1. 创建表T_Test create table T_Test(id int ,address char(25), pay int); 2. 创建自增序列 create sequence SEQ_T_Test_ID //创建名为zc的序列 increment by 1 ... 阅读全文

posted @ 2015-02-06 15:40 张大大123 阅读(246) 评论(0) 推荐(0) 编辑

(十七)TableView的本地性能优化
摘要:面试中常常会问TableView的性能优化。 TableView只会加载能看到的Cell,每当有一个Cell进入视野范围内,就会调用。 存在着内存隐患,如果用户拖动的很快,所以内存会飙升的很快,因此要针对cell的返回方法上进行性能优化。 优化方案:系统调用这个方法的时候就是为了得到cell,一... 阅读全文

posted @ 2015-02-06 15:25 张大大123 阅读(153) 评论(0) 推荐(0) 编辑

(十六)TableView常见属性
摘要:千万不要忘记设置TableView的数据源。 1.分割线的样式: separatorStyle与separatorColor。 颜色:十六进制表示 32bit:argb各占8位。 #aarrggbb 24bit:rgb各占8位。 #rrggbb a为透明度。 注意:rgb全00为黑色,全ff... 阅读全文

posted @ 2015-02-06 12:41 张大大123 阅读(146) 评论(0) 推荐(0) 编辑

(十五)UITableViewCell的常见属性
摘要:UItableViewCellStyle: typedef NS_ENUM(NSInteger, UITableViewCellStyle) { UITableViewCellStyleDefault, //左边imageView,右边显示textLabel UITableViewC... 阅读全文

posted @ 2015-02-06 12:00 张大大123 阅读(144) 评论(0) 推荐(0) 编辑

(十四)单组数据展示(字典转模型、模型初始化细节)
摘要:类似游戏助手,展示游戏资料。 可以通过程序进行网页抓取,从而生成要展示的plist。 Tip:在实现tableView的方法时,先写返回值再敲tableView可以过滤掉大部分方法,从而快速找到要实现的。 要在Cell中显示标题、内容、图片,应该设置样式为UITableViewCellStyle... 阅读全文

posted @ 2015-02-06 11:13 张大大123 阅读(174) 评论(0) 推荐(0) 编辑

(十三)UITableView数据模型化
摘要:多组数据的TableView的设计方法:每一组用一个模型对象表示。 模型包含了标题数据和行数据的数组,在控制器里包含模型的组来对各个模型进行初始化。 在tableView相应的方法中,从控制器的模型组中取出模型来处理。 需要补充一点cell的获取,使用方法: UITableViewCell *c... 阅读全文

posted @ 2015-02-06 10:17 张大大123 阅读(173) 评论(0) 推荐(0) 编辑

(十二)UITableView的基本使用
摘要:UITableView之所以支持滚动,是因为继承自UIScrollView。默认是垂直滚动,性能极佳。 UITableView的两种样式: 1.UITableViewStylePlain 例如通讯录的视图。 2.UITableViewStyleGrouped 分组样式,例如微信的发现... 阅读全文

posted @ 2015-02-05 21:11 张大大123 阅读(160) 评论(0) 推荐(0) 编辑

(十一)延时执行、圆角(可实现圆形label)、代理设计模式
摘要:延时执行: 使用控件的performSelector...方法,例如用于移除,可以写在一行。 [lab performSelector:@selector(removeFromSuperview) withObject:lab afterDelay:4.0]; 圆角的实现: 在iOS6中,只需要... 阅读全文

posted @ 2015-02-05 16:36 张大大123 阅读(192) 评论(0) 推荐(0) 编辑

(十)弹出框Alert与ActionSheet
摘要:第一种方式:中间弹窗 从中间弹出的窗口称为AlertView。 可以设置多个按钮,取消按钮会放在对右端或者最下端,按钮超过两个,会竖着排列。 UIAlertView *alert = [[[UIAlertView alloc] init] initWithTitle:@"标题" message:... 阅读全文

posted @ 2015-02-05 16:25 张大大123 阅读(329) 评论(0) 推荐(0) 编辑

(九)UIScrollView和PageControl的分页
摘要:涉及到内容的滚动与拖拽,使用UIScrllView。 对于滚动的多张图片,由于超出屏幕,应该使用代码添加代码。 添加的细节是:图片的宽高即为滚动视图的宽高,图片的y=0,x=图片的序号乘以图片的宽度。 为了美观,还应该去掉水平滚动条,代码为: self.scrollView.showsHori... 阅读全文

posted @ 2015-02-05 14:23 张大大123 阅读(186) 评论(0) 推荐(0) 编辑

(八)喜马拉雅Demo引出的细节(代理模式和图片缩放)
摘要:喜玛拉雅是一款电台APP,界面非常美观,通过模仿这一APP学习到很多细节。 1.图片导入后有些框内不全如何补全: 寻常的办法是再准备一张图片拖入,比较好的办法是右击已经导入的图片选择Show in Finder,通过编辑Contents.json文件来修改。 2.如何确定UIScrollView... 阅读全文

posted @ 2015-02-05 12:11 张大大123 阅读(233) 评论(0) 推荐(0) 编辑

(七)大图展示Demo引出的UIScrollView的使用
摘要:UIScrollView是一个能够滚动的视图控件,可以通过滚动查看所有内容。 用途: 1.一张大图屏幕放不下,可以用各个方向的手势来看大图的各个部分。 2.手机的设置页面有很多的选项,需要上下滚动来查看。 使用步骤: 1.将需要展示的内容添加到UIScrollView中 2.设置UIScro... 阅读全文

posted @ 2015-02-05 09:35 张大大123 阅读(153) 评论(0) 推荐(0) 编辑

让Oracle 大小写敏感 表名 字段名 对像名
摘要:一、解决方案 1、在表名、字段名、对象名上加上双引号,即可实现让oracle大小写区分。 2、但是这又引起了另一个问题:在数据库操作中,sql语句中相应的表名、字段名、对象名上一定要加双引号。 解决办法是:使用"\"转义。如: String sql = "select *... 阅读全文

posted @ 2015-02-05 06:21 张大大123 阅读(729) 评论(0) 推荐(0) 编辑

关于oracle表名区分大小写的问题
摘要:oracle不是区分大小写的,是建表的时候是没有去掉双引号。 CREATE TABLE TableName(id number); //虽然写的时候是有大写和小写,但是在数据库里面是不区分的。 select * from tablename; //这样是可以的 SELECT ... 阅读全文

posted @ 2015-02-05 06:19 张大大123 阅读(715) 评论(0) 推荐(0) 编辑

Oracle11g密码区分大小写导致database link无法连接
摘要:Oracle11g的密码默认是区分大小写的,该特性通过初始化参数sec_case_sensitive_logon控制,默认TRUE表示区分大小写。但是Oracle11g之前的版本密码都是不区分大小写的,所以在Oracle10g等以前版本创建到Oracle11g的database link时,可... 阅读全文

posted @ 2015-02-05 06:14 张大大123 阅读(168) 评论(0) 推荐(0) 编辑

(六)应用图标和启动图片
摘要:十六.设定启动图片和应用图标 1.应用图标 应用图标需要多种规格的原因: 1.iPhone上显示的图标 2.AppStore上显示的图标 3.Spotlight上显示的图标(搜索栏搜到的图标) 注意图标命名为Icon-xx.png 因此需要提供不同的样式。 同名@x2和同名@x3... 阅读全文

posted @ 2015-02-04 22:03 张大大123 阅读(245) 评论(0) 推荐(0) 编辑

(五)超级猜图Demo引出的细节
摘要:第一部分: 1.按钮的细节,设置背景和前景图片后,要使得背景显示出来,可以设置内边距,影响内部内容。 显示 图片+文字,用button更简单。 问题是,如果不想按钮被点击,在属性面板取消勾选User Interaction Enabled. 2.状态栏的颜色控制(背景色深色,将状态栏... 阅读全文

posted @ 2015-02-04 22:01 张大大123 阅读(118) 评论(0) 推荐(0) 编辑

(四)封装和优化的一些规范
摘要:十一.字典转模型 用字典存放数据的坏处: 字典的key有可能写错。 因此常用模型来存储数据。 创建一个模型类。注意字符串的@property用copy代替strong(copy用到NSString)。 weak一般用于UI控件,assign用于基本数据类型。 这样只需要检查字... 阅读全文

posted @ 2015-02-04 21:11 张大大123 阅读(201) 评论(0) 推荐(0) 编辑

(三)懒加载以及一些设计规范
摘要:八.文档注释 /** 这是一只显示图片的猫 */ @property (weak, nonatomic) IBOutlet UIImageView *tom; 这样的好处是调用时显示注释: 九.UIButton UIImageView区别 1.需要监听图片点击,需要用... 阅读全文

posted @ 2015-02-04 21:07 张大大123 阅读(135) 评论(0) 推荐(0) 编辑

(二)plist的使用和序列帧动画
摘要:六.plist的使用方法: iOS的程序在安装在手机上以后会把全部资源文件集成在一个文件夹中,这种文件集合称为bundle,对于一般的工程,只有一个bundle,即mainbundle,因此可以通过bundle来获取文件的全路径,然后读取文件,下面的例子读取的是一个数组plist。 NSAr... 阅读全文

posted @ 2015-02-04 21:03 张大大123 阅读(457) 评论(0) 推荐(0) 编辑

(一)UI设计的一些常识
摘要:一、概述 新版本的Xcode似乎框架不明示。 UIView:屏幕上看得见摸得着的东西。视图、控件、组件。 UIView是一个容器,能容纳其他UIView。 UIViewController用来控制UIView。 按钮事件的绑定: 手写代码的方法: 1.右键单击按钮,选择touch u... 阅读全文

posted @ 2015-02-04 20:57 张大大123 阅读(237) 评论(0) 推荐(0) 编辑

OC语言(六)
摘要:四十六.block类型 用来封装代码,可以在任何时候执行。 与函数的区别:可以在运行时动态产生。 block的标志:^ 有形参、有返回值 int (^sumblock)(int,int) = ^(int a, int b){ NSLog(@"a + b ... 阅读全文

posted @ 2015-02-04 20:54 张大大123 阅读(157) 评论(0) 推荐(0) 编辑

OC语言(五)
摘要:三十七.SEL类型-方法的包装 发送消息其实就是发送SEL。 每个方法都有与之对应的SEL类型数据。 第一次调用方法,先把方法包装成为SEL数据,再根据SEL去找方法地址,最后根据方法地址调用相应的方法(缓存机制提高性能)。 通过SEL调用方法: 调用无参方法Test [p pe... 阅读全文

posted @ 2015-02-04 20:49 张大大123 阅读(124) 评论(0) 推荐(0) 编辑

OC语言(四)
摘要:二十八.id类型(万能指针) 可以指向任何id对象(本身就是指针,不用*) id相当于NSObject *,类似于一种多态。 二十九.重写构造方法 new方法的实质:分配空间+alloc 和 初始化-init 开发过程一般是用 +alloc 和 -init来进行初始化 ... 阅读全文

posted @ 2015-02-04 20:48 张大大123 阅读(104) 评论(0) 推荐(0) 编辑

OC语言(三)
摘要:十九.一些规范 import系统自带的用尖括号来包含。 发现需求不清晰,一定要先搞明白才去做。 多文件开发,文件名和类名一致 命令行里的做法:(只是编译链接主文件,但是全部编译链接会出错) 1.每个文件都要引入主框架(如果使用了NSObject) 2.如果用到了其他类,也要引... 阅读全文

posted @ 2015-02-04 20:46 张大大123 阅读(96) 评论(0) 推荐(0) 编辑

OC语言(二)
摘要:十.匿名对象 即不将对象赋给指针,而是直接使用 注意new对象的时候要用[ ]嵌套 例如:[[Car new] run]; 十一.枚举书写规范 注意空格 //注视 typedef enum { } XXX; 十二.面向对象三大特性之封装 封装、继承、多... 阅读全文

posted @ 2015-02-04 20:43 张大大123 阅读(125) 评论(0) 推荐(0) 编辑

OC语言(一)
摘要:一.概述 1.基本上所有关键词@开头 2.字符串以@开头,如@“Hello” 3.基本数据类型 char int float double BOOL(YES\NO) 4.空为nil 5.注释同C语音 6.屏幕输出 NSLog(@“String”); NSLog(@“age is %i”,27);... 阅读全文

posted @ 2015-02-04 20:40 张大大123 阅读(156) 评论(0) 推荐(0) 编辑

PLSQL显示乱码-无法进行中文条件查询解决
摘要:PLSQL显示乱码-无法进行中文条件查询解决 原因: PLSQL乱码问题皆是ORACLE服务端字符集编码与PLSQL端字符集编码不一致引起。类似乱码问题都可以从编码是否一致上面去考虑。 解决: 1. 查询Oracle服务端字符集编码,获取NLS_CHARACTE... 阅读全文

posted @ 2015-02-04 15:04 张大大123 阅读(174) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示