自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 如果我可以重新学习iOS开发

在过去的几个月里,我一直在学习用Objective-C编写iOS app,最后我开始理清思绪。这比我想象中要难很多,也花了太长时间。我经常遇到困难、感到沮丧,修复bug比实际写代码要花太多时间。但是,在我的手机上把玩我从头开发的app有一种让人惊奇的感觉。用这种方式我学到了很多,除了开发iOS app,还有平常的编程。我还遇到了一些问题,如果用不同的方法学习Objective-C,

2015-05-08 17:15:08 393

转载 Objective-C开发编码规范

转自:http://www.cocoachina.com/ios/20150508/11780.htmlObjective-C 编码规范,内容来自苹果、谷歌的文档翻译,自己的编码经验和对其它资料的总结。概要Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程序。关于 Objective-C 的编码规范,苹果和谷歌都已经有很好的总

2015-05-08 14:59:06 419

转载 iphone之MPMoviePlayer 视频播放

转自:http://blog.sina.com.cn/s/blog_4adf31ea0100r073.htmliphone的视频播放官方的例子有问题。这次是费了比较长的时间。  原因是在sdk3.2以后。视频这一块官方有很大的改动造成的。 视频播放" title="iphone之MPMoviePlayer 视频播放" style="margin:0px; padding:0px;

2015-05-07 21:59:06 352

原创 C11-函数指针

一、函数指针定义 二、函数回调 三、动态排序 四、函数返回值是函数指针代码: int maxValue(int a, int b) { return a > b ? a : b; }void printHello(void) { printf(“hello !\n”); }int sum(int a, int b) { return a + b; }

2015-05-06 21:10:48 794

原创 C12_函数回调(函数指针中的内容)

代码:long ff(int n) { long f; if (n < 0) printf(“n < 0, input error”); else if (0 == n || 1 == n) f = 1; else f = ff(n - 1) * n; return (f); }void changeNumber(int number) {

2015-05-06 21:09:56 440

原创 C8-指针

一、指针变量的定义和使用 二、取址运算符 三、取值运算符 四、指针的算术运算代码://long arrLen (char *src) //{ // long sum = 0; // //while (*p != ‘\0’) { // // p++; // // sum++; // //} // sum = strlen(src);

2015-05-06 21:07:07 490

原创 C10-动态内存分配

一、存储区划分 二、堆内存分配函数 三、其他内存分配函数 四、内存操作函数代码:void test(void) { printf(“void\n”); }int main(int argc, const char * argv[]) {// 存储区划分// int a = 0; // printf(“栈区:%p\n”, &a); // // 堆区多占空间较

2015-05-06 21:07:01 437

原创 C9-高级指针

一、指针变量的定义和使用 二、取值运算符 三、取值运算符 四、指针的算术运算代码: typedef struct student { char sex; int num; float score; } Student;typedef struct CPoint { float x; float y; } CP;typedef struct

2015-05-06 21:06:05 237

原创 C7-结构体

一、结构体声明 二、结构体定义 三、结构体应用 四、结构体与数组代码:// struct 结构体名// {// 类型说明符 成员名;// ... ...// 类型说明符 成员名;// };//typedef struct student //{ // short num; // char name[20]; // char sex; //

2015-05-06 21:04:52 343

原创 C6-函数

一、函数定义 二、函数调用 三、函数声明 四、数组作为参数 五、函数嵌套 六、函数递归代码:// .m文件中放函数的定义, .h函数放声明//不要忘记包含这个文件#include “MYFUN.h” // #import “MYFUN.h”//函数// 定义函数(在主函数的上面定义)// void->空,当返回值类型为void时,代表没有返回值,当参数类型为void时

2015-05-06 21:01:54 343

原创 C5-二维数组、字符串数组、多维数组

一、二维数组 1.二维数组定义: 注:常量表达式1->第一维度 常量表达式2->第二维度 可以没有第一维度的长度,但一定要写第二维度长度 若不指定第一维度,就一定要加初值 2.使用二位数组中的元素,数组名[第一维度下标][第

2015-05-06 21:01:15 663

原创 C4-一维数组、字符数组

一、一维数组 1.定义2.定义的四种形式:二、数组排序(*冒泡排序、选择排序、快速排序等) 冒泡排序:三、字符数组代码:int main(int argc, const char * argv[]) {//类型说明符 变量名 初值// int a = 0;//定义一个数组//类型说明符 变量名 初值//注意:1.数组中的每一个元素类型都相同// 2.变量

2015-05-06 20:49:04 1048

原创 C2-分支结构

一、布尔类型(BOOL) 1.bool中值只有0/1; 2.布尔类型变量用来存表达式的返回值: (1).当表达式为真,返回1; (2).当表达式为假,返回0. 二、运算符 1.关系运算符 2.逻辑运算符(&&、||、!) (1).逻辑与(&&):表达式两端同时为真,整个表达式才为真(一假即假)

2015-05-06 20:45:41 453

原创 C3-循环

三种循环方式:while循环、do…while循环、for循环 一、while循环 生成随机数:二、do…while循环三、for循环代码: int main(int argc, const char * argv[]) {// int a = 0; // //循环打印5次”做俯卧撑” // while(条件表达式) // { // 循环体(语句)

2015-05-06 20:45:05 1036

原创 C1-基础

一、进制转换(进制、基数、位权) 1.方法: (1)x进制转十进制:按权求和 (2)十进制转x进制:连除倒取余 2.练习: 将10010转换为十进制数:10010=1*2^4+1*2^1=18 将063转换为十进制数:063=6*8^1+3*8^0=51 将0xFE转

2015-05-06 20:44:12 526

原创 线程

一、在 AppDelegate.m 中引入新建的视图控制器 #import “MainViewController.h” 并创建设置为根视图 二、自定义子类 MyOperation 继承于 NSOperation,并在 .m 文件中创建需要实现的方法 三、在视图控制器 MainViewController 的 .m 文件中引入 #import “MyOperation.h” 并创建 UIImag

2015-05-05 21:55:29 235

原创 UICollectionView

一、在 AppDelegate.m 中引入新建视图控制器的头文件 #import “MainViewController.h” 并创建视图 二、自定义 UICollectionViewCell, 在 .h 文件中创建 UILabel 属性,用来显示文字 在 .m 文件中 三、在视图控制器 MainViewController 的 .m 文件中引入自定义的 UICollectionViewCel

2015-05-05 21:26:26 220

原创 DataBase(本地存储)

一、在 AppDelegate.m 中引新建视图控制器的头文件 #import “MainViewController.h” 并创建视图 二、新建学生类(本地存储用到的数据模型类) Student,继承于 NSObject 在 .h 文件中 在 .m 文件中 三、新建数据库管理类 DataBaseHandler, 用于存储本地数据 ,在 .h 文件中引入学生类和系统的库文件(引入系统的库文

2015-05-05 18:00:46 383

原创 KVO初步了解

一、在 AppDelegate.m 中引新建视图控制器的头文件 #import “MainViewController.h” 并创建视图 二、在视图控制器 MainViewController 的 .m 文件中创建 button,并使用 KVO 当观察到属性的改变之后,自动调用的方法 button 方法以及内存管理

2015-05-02 12:13:09 280

原创 NSNotificationCenter

一、新建四个视图控制器,并在 AppDelegate.m 中引第一个视图控制器的头文件 #import “FirstViewController.h” 并创建视图 二、在第一个视图控制器 FirstViewController 的 .m 文件中获取通知中心,注册一个观察者和事件,创建一个 button 收到通知中心的消息时,观察者要调用的方法 button 方法,推出第二个页面 三、在第二

2015-05-02 12:05:46 293

原创 SDWebImage的应用

一、导入 SDWebImage 文件 二、在 AppDelegate.m 文件中引新建视图控制器的头文件 #import “MainViewController.h” 并创建 三、在视图控制器 MainViewController 的 .m 文件中引 SDWebImage 的头文件,并创建属性 运用 SDWebImage 加载图片

2015-05-01 21:25:30 251

原创 Class_封装网络请求

一、在 AppDelegate.m 中引新建视图控制器的头文件 #import “MainViewController.h” 并创建 二、封装网络请求,新建 NetworkHandler 类,继承与 NSObject 在 .h 中 在 .m 中 三、在视图控制器 MainViewController 的 .m 文件中引封装过的网络请求类的头文件 #import “NetworkHandler

2015-05-01 21:13:54 305

原创 LocalFile,沙盒

一、在 AppDelegate.m 中引新建视图控制器的头文件 #improt “MainViewController.h” 并创建 二、创建 model 类(Boss),在 .h 文件中 在 .m 文件中 三、在视图控制器 MainViewController 的 .m 文件中引新建的 model 类 1.沙盒 2.简单对象的读写操作 3.复杂对象写入本地

2015-05-01 11:49:12 472

原创 Class,HTTP

一、在 AppDelegate.m 中引新建视图控制器头文件 #import “MainViewController.h” 并创建 二、在视图控制器 MainViewController 中 1. .m 文件中创建属性 2.在 viewDidLoad 中创建四个 button,并在方法中实现不同的数据请求方式,创建 imageView 第一个 button 方法(GET请求):

2015-04-28 22:08:09 715

转载 iOS多线程编程之NSThread的使用

1、简介:1.1 iOS有三种多线程编程的技术,分别是:1.、NSThread 2、Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue的使用)3、GCD  全称:Grand Central Dispatch( iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用)这三

2015-04-28 21:27:59 237

转载 IOS Table中Cell的重用reuse机制分析

创建UITableViewController子类的实例后,IDE生成的代码中有如下段落:[cpp] view plaincopy- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {  

2015-04-28 20:51:10 378

转载 ios 使用NSRegularExpression解析正则表达式(TextKit中用到)

初始化一个   NSRegularExpression 对象 注:_str是要匹配的字符串NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"http://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?" options:NSRegularExpr

2015-04-27 11:26:01 430

转载 iOS8开发~UI布局(三)深入理解autolayout

通过对iOS8界面布局的学习和总结,发现autolayout才是主角,autolayout是iOS6引入的新特性,当时还粗浅的学习了下,可是没有真正应用到项目中。随着iOS设备尺寸逐渐碎片化,纯粹的hard code方式UI布局将会走向死角,而autoresizing方式也有其局限性,所以无论如何autolayout都将成为UI布局的重要方式。前两篇以发烧友心态对iOS8界面布局的主要

2015-04-25 17:29:52 462

转载 iOS8开发~UI布局(二)storyboard中autolayout和size class的使用详解

一、概要:前一篇初步的描述了size class的概念,那么实际中如何使用呢,下面两个问题是我们一定会遇到的:1、Xcode6中增加了size class,在storyboard中如何使用?2、auto layout该如何与size class配合来进行UI布局?二、了解一件新事物的最好的办法就是实践,让我们揭开那神秘的面纱:例子1、新建一个Sing

2015-04-25 17:27:05 414

转载 iOS8开发~UI布局(一)初探Size Class

一、新特性Size Class介绍随着iOS8系统的发布,一个全新的页面UI布局概念出现,这个新特性将颠覆包括iOS7及之前版本的UI布局方式,这个新特性就是Size Class。Size Class配合Auto Layout可以解决所有(包括iPhone及iPad)iOS设备屏幕尺寸及屏幕旋转时候的UI适配问题 。二、为什么要使用Size Class直到i

2015-04-25 17:26:07 341

转载 Auto Layout 进阶

引言:Auto Layout是iOS6发布后引入的一个全新的布局特性,其目的是弥补以往autoresizing在布局方面的不足之处,以及未来面对更多尺寸适配时界面布局可以更好的适应.要完全掌握Auto Layout是一件非常消耗精力的事情,需要大量的实践,并且在根本上面,理解其如何使用,如果要全面的介绍Auto Layout和使用场景估计几篇博文都介绍不完,本文希望能将使用

2015-04-25 17:22:28 336

转载 TextKit学习(一)可以调整字体大小的FontResizeDemo

昨天看完了苹果官方的IntroduceToTextKit这个Demo,了解了有关TextKit的一些新特性,TextKit的出现的确使得文字的处理变得更加便利和多功能化。个人觉得最有趣的是ExclusionPath这个部分。之后参照这个Demo我写了FontResizeDemo,顾名思义就是当用户在Settings的Text Size中调整字体大小时,本程序的字体相应地

2015-04-23 18:02:19 500

转载 JSON与XML的区别比较

1.定义介绍(1).XML定义扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。XML

2015-04-23 17:59:31 312

原创 XML, JSON

一、在 AppDelegate.m 中引入新建的视图控制器 #import “MainViewController.h” 并创建 二、在工程中引入需要用到的 .xml .txt 文件和 XML 数据解析用到的 mode 和 button 的类目,并创建类用来解析 XML 文件 三、在视图控制器 MainViewController 的 .m 文件中引入 button 类目的头文件(#impor

2015-04-23 17:36:51 255

原创 UITableView, .plist文件

一、在 AppDelegate.m 中引新建的视图控制器 #import “MainViewController.h” 并创建 二、将 .plist 文件引入工程 三、在视图控制器 MainViewController 的 .m 文件中创建 tableView ,并将 .plist 文件的内容赋值给 tableView tableView 的协议方法中实现赋值

2015-04-23 16:34:47 321

原创 cartoon(不同的动画效果)

一、在 AppDelegate.m 中引新建视图控制器的头文件 #import “MainViewController.h” 并创建 二、在视图控制器 MainViewController 的 .m 文件中创建 button 在 button 的方法中实现不同的动画效果: 1.以360°顺逆时针循环旋转 2.颜色渐变 3.颜色渐变 4.改变形状带弹动效果 5.改变形状带翻页效果 6.

2015-04-23 15:32:30 776

原创 UITabBarController

一、在 AppDelegate.m 中引新建视图控制器 #import “FirstViewController.h” #import “SecondViewController.h” #import “ThirdViewController.h” #import “FourthViewController.h” #import “FifthViewController.h”

2015-04-23 15:08:49 254

原创 UITableViewCell

一、在 AppDelegate.m 中引新建视图控制器的头文件 #import “MainViewController.h” 并创建 二、在视图控制器 MainViewController 的 .m 文件中引自定义 UITableViewCell 的头文件,并签代理,创建属性 创建 UITableView 和赋值用到的数组 实现代理方法,创建重用池 设置 cell 的高度 三、自定义 ta

2015-04-23 11:59:57 261

原创 NSUserDefaults(数据存储)

一、在 AppDelegate.m 中引新建视图控制器的头文件 #import “MainViewController.h” 并创建 二、在新建的视图控制器 MainViewController 的 .m 文件中

2015-04-23 11:41:22 228

原创 UITableView

一、在 AppDelegate.m 中引新建视图控制器的头文件 #import “MainViewController.h” 并创建视图 二、创建数组属性,并签订 tableView 的两个协议 三、自定义数组,创建 UITableView 并签协议 tableView 的协议方法: 1.分区数量 2.分区标题内容 3.分区视图 4.右侧索引 5.每个分区包含多少行 6.每一行中c

2015-04-22 22:25:55 262

空空如也

空空如也

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

TA关注的人

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