自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 问答 (1)
  • 收藏
  • 关注

原创 UITableView之(八):使用系统自带UIRefreshControl进行下拉刷新

UIRefreshControl的相关属性:- (instancetype)init;@property (nonatomic, readonly, getter=isRefreshing) BOOL refreshing;@property (null_resettable, nonatomic, strong) UIColor *tintColor;@property (nullab...

2016-01-25 10:12:04 420

原创 UI基础学习之(十二):UINavigationController

UINavigationController导航视图控制器,用来管理多个视图控制器,主要管理有层级关系的控制器。 UINavigationController继承于UIViewController,以栈的方式管理所控制的视图控制器,控制出栈和入栈来展示各个视图控制器。至少要有一个被管理的视图控制器,这个控制器我们称作,导航视图控制器的根视图控制器。任何继承自UIViewContro

2016-01-22 14:17:47 382

原创 UI基础学习之(十一):UIScrollView

UIScrollView是可以滚动的View,UIView本身不能滚动,子类UIScrollView拓展了滚动的功能。UIScrollView是所有滚动视图的基类。UITableView、UITextView等都继承于该类。使用场景:显示不下(单张大图);内容太多(图文混排);滚动头条(图片);相册等。UIScrollView主要专长于两个方面:滚动:contentSize大于fr

2015-12-08 14:23:16 305

原创 UI基础学习之(十):UIPageControl

PageControl一般和ScrollView配合使用 //创建pagecontrolself.pageControl = [[[UIPageControl alloc] init] autorelease];//设置在屏幕的底端self.pageControl.frame = CGRectMake(0, CGRectGetMaxY(self.frame) - 50, CGR

2015-12-08 14:17:27 299

原创 UI基础学习之(九):UISlider

UISlider是iOS中的滑块控件。通常用于控制视频播放进度,控制⾳音量等。它也是继承于UIControl,滑块提供了一系列连续的值,滑块停在不同的位置,获取到滑块上的值也不同。 创建Sliderself.slider = [[[UISlider alloc] init] autorelease];self.slider.frame = CGRectMake(50,

2015-12-08 14:13:13 351

原创 UI基础学习之(八):UISegmentedControl

UISegmentedControl是iOS中的分段控件。每个segment都能被点击,相当于集成了若干个button。通常我们会点击不同的segment来切换不同的view。 //创建UISegmentedControlNSArray * dataArray = @[@"first", @"second", @"third"];self.seg = [[UISegment

2015-12-08 14:10:23 331

原创 UI基础学习之(七):UIViewController

一、视图控制器的创建:作用:管理view文件:UIViewController、UIView创建RootViewController,继承于UIViewController创建RootView,继承于UIView在MRC下创建步骤:1、在RootView.m中声明指定初始化方法:- (instancetype)initWithFrame:(CGRect)frame{

2015-12-08 14:04:33 441

原创 UI基础学习之(六):程序的启动过程

在iOS中程序的启动过程如下:程序启动过程- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    self.window = [[[UIWindow alloc] initWithFr

2015-12-08 13:54:17 313

原创 UI基础学习之(五):UIButton

Button的创建可以使用类方法UIButton * b1 = [UIButton buttonWithType:UIButtonTypeSystem];b1.frame = CGRectMake(100, 100, 100, 100);b1.backgroundColor = [UIColor cyanColor];[self.window addSubview:b1];

2015-12-08 13:47:29 285

原创 UI基础学习之(四):UITextFiled Delegate

UITextFile还拥有自己的代理,用来监听和输入相关的操作:   创建代理UITextField * tf1 = [[UITextField alloc] init];    tf1.frame = CGRectMake(50, 50, 200, 50);    tf1.backgroundColor = [UIColor yellowColor];   //   

2015-12-08 13:42:34 379

原创 UI基础学习之(三):UITextField

UITextField创建UITextField * tf1 =[[UITextField alloc] init];设置属性tf1.frame =CGRectMake(50, 200, 200, 50);tf1.backgroundColor= [UIColor yellowColor]; //文本显示//文本框中的文字 可读可写tf1.text = @"请输

2015-10-26 17:29:08 334

原创 UI基础学习之(二):UILabel

UILabelUILabel的基本属性比较简单,文字的对齐方式和断行模式属于OC框架下的属性,即NS开头的属性值,如下:创建UILabelUILabel * label = [[UILabel alloc] init];//    设置属性    label.frame = CGRectMake(100, 100, 200,100);    label.backgrou

2015-10-26 17:21:58 357

原创 UI基础学习之(一):UIWindow、UIView的基本属性

UIWindow1、每个程序至少有一个Window,在Application.m中进行设置2、Window用来展示控件-(BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    self.window =

2015-10-26 17:03:16 363

原创 Objective-C 基础知识之 (十八):Copy NSString的Copy现象

copy 拷贝类别:深拷贝 浅拷贝深拷贝:拷贝对象              需要创建新的对象浅拷贝:拷贝指针(对象的地址) 操作的是同一个对象 深拷贝:当对象调用copy方法时,会调用copyWithZone-(id)copyWithZone:(NSZone *)zone{创建一个新的同类型的对象,将被拷贝对象的数据赋给新创建的对象    Person

2015-09-25 20:18:21 749 1

原创 Objective-C 基础知识之 (十七):内存管理原则二

内存管理原则:1、在一段代码内,对象的引用计数增加和减少要保证平衡。2、凡是调用了retain、alloc、copy造成引用计数增加,当不再需要使用这个对象时,要调用release或autorelease相应的减少引用计数。3、便利构造器方法内部要调用autorelease方法避免内存泄露。4、使用便利构造器方法创建的对象,不需要调用release方法,否则会造成过度释

2015-09-25 20:15:59 328

原创 Objective-C 基础知识之 (十六):内存管理原则一

内存管理 OC中的内存管理机制:引用计数每个对象都有引用计数。理论上:当对象的引用计数为0时,系统会自动调用方法,销毁对象,回收内存。在开发中,存在多个指针操作同一个对象。如果需要使用对象,不想出现对象提前被销毁的情况,需要增加这个对象的引用计数。如果不再需要使用对象,减少相应的引用计数。 引用计数加1的实现:alloc 引用计数加1   0 -> 1Perso

2015-09-25 20:12:16 386

原创 Objective-C 基础知识之 (十五):KVC

KVCKey-Value-Coding  键值编码,是一种间接访问实例变量的方法。Key:用于标识实例变量。Value:实例变量对应的值。使用场景:创建的类的实例变量声明为私有,在类的外部需要使用时采用此方法赋值和取值。例:只声明Person对象,未声明实例变量和实现方法。 创建Person对象:Person * p = [ [Person alloc]init];主要

2015-09-25 20:01:23 369

原创 Objective-C 基础知识之 (十四):属性 Property 点语法

属性@property@synthesize 可以通过声明属性完成对某个实例变量setter、getter方法的默认声明。如果需要在类的外部使用实例变量,则声明对应的属性。 属性声明:@property 属性类型 属性名字属性的类型:1、必须跟操作的实例变量的类型相同。2、属性的类型决定了setteer方法的参数类型,getter方法的返回值类型。属性的

2015-09-25 19:58:15 344

原创 Objective-C 基础知识之(十三):类目、延展、协议、代理等的基本概念

Category 类目、分类可以为任何类添加方法。类目的接口部分:声明添加的方法。不能添加实例变量。 类目包含两部分:接口部分、实现部分。类目中添加的方法属于类的一部分。子类可以继承父类所有的方法,包含类目中的方法。类目中方法的优先级高于类中定义的方法(类目中的方法与类中的方法重名)。Extension 延展类的延展写在类的实现文件中(.

2015-09-25 19:54:39 440

原创 Objective-C 基础知识之(十二):NSDate

NSDate  1、创建日期对象 提供日期、时间、时区信息NSDate打印的结果,显示的是0时区。格林尼治时间GMT。2、创建当前时间NSDate * date =[NSDate date];NSLog(@"%@",date);3、创建日期:以当前时间为参考点,根据时间间隔(秒)创建新的日期对象。//日期内容:明年的今天NSDate * date =[NSDat

2015-09-25 19:50:47 330

原创 Objective-C 基础知识之(十一):Block

Block        1、block定义block的本质:匿名函数标志:托字符 ^定义block三部分:返回值类型 参数列表 block实现体        例1:定义block,实现输出 Hello orld无返回值无参数^ void (){    NSLog(@"Hello World");};        2:定义block,返回两个

2015-09-25 19:48:29 546

原创 Objective-C 基础知识之(十): OC中的排序方法

OC中的排序排序:1、OC中的冒泡排序(数组)创建可变数组:NSMutableArray *array = [NSMutableArray arrayWithObjects:@"20", @"10",@"40", @"30", nil];按照升序进行排列for (int i = 0; i   for (int j = 0; j      NSString * str1

2015-09-15 22:10:21 1038

原创 Objective-C 基础知识之(九):创建对象的方法

基本观念:对象可以用@“xx”表示,也可以用对象名表示,一般为了简洁和能够重复使用某个对象,应使用对象表示。 1、OC中使用类创建对象的声明方法  (1)init初始化方法:标志:init 创建一个空对象,然后根据需求使用存取方法赋初值;NSString * a1 = [ [NSString alloc]  init]; initWit XXX创建对象的同时

2015-09-15 21:54:39 609

原创 Objective-C 基础知识之(八):NSSet

集合 1、集合和数组、字典类似,都只能存储不同类型的对象。集合中的对象具有唯一性,即同一对象在集合中存储N次,集合只读取一次对象,可通过NSCountedSet中的方法countForObject:获取同一对象存储的个数。数组可以存储多次同一对象。字典可以存储多次同一对象,但是key值不能重复。2、创建NSSet对象,同NSArray类似。NSSet * set1 =[

2015-09-15 21:51:35 552

原创 Objective-C 基础知识之(七):NSDictionary、NSMutableDictionary

字典字典类:描述一个数据时,数据包含多种信息,类似于结构体。1、只能存储对象;2、对象的数量和类型没有限制;3、字典存储数据时是无序的,只能靠标签(key)去存储和查找;4、字典中存储的内容:键值对 Key->Value。不可变字典:NSDictionary通过例题学习字典的使用:        定义字典对象,存储一个人的信息(姓名、性别、年龄)。字典声

2015-09-15 21:46:58 795

原创 Objective-C 基础知识之(六):NSArray、NSMutableArray

数组的特点:1、数组中的元素是有序的;2、数组元素的下标从0开始; OC中提供的数组对象3、数组中只能存储对象,不能存储基本数据类型;4、数组中存数的对象类型可以不同。         NSArray 不可变数组        1、创建对象。 初始化方法中的nil的作用:结束数组元素的存储,nil后面的数据不会存储在数组中NSArray * arr1 =

2015-09-15 19:15:13 328

原创 Objective-C基础知识之(五):NSString

NSString  不可变字符串类 使用方法:       创建字符串对象1、使用常量字符串对象(定义NSString*类型的指针操作)NSString * name = @"hello";2、使用格式化字符串创建对象float score = 98.00;(1)使用初始化方法NSString * s1 = [[NSString alloc] initWithF

2015-09-12 14:37:33 399

原创 Objective-C基础知识之(三):继承、#import、@class:

一、继承:1、用法:把相同的特征和行为定义在父类中,子类只定义特有的特征和行为。2、继承的特点:(1)父类、子类是相对的概念。如:人->学生->大学生中,学生即是人的子类,也是大学生的父类。(2)继承是单向的,OC中只允许单继承。(3)继承具有传递性。(4)子类从父类继承了所有的实例变量和方法。私有的实例变量和方法只能继承,不能使用。(5)没有父类的类称为根

2015-09-12 10:54:19 795

原创 Objective-C基础知识之(四):实例变量的可变度、初始化方法的声明、self和super的具体应用

一、OC实例变量的可见度1、三种类型的可见度@public 用@public修饰的实例变量,在类的内部和外部都可以使用,不推荐(禁止)使用。@protected   用@protected修饰的实例变量,在该类的外部不能使用,只能在该类的内部和其子类中使用。实例变量的默认可见度就是@protected,可以省略不写。@private用@private修饰的实例变量,

2015-09-08 17:52:21 556

原创 Objective-C基础知识之(二):方法的类型、setter方法、getter方法、初始化方法、其他方法

一、方法方法:方法声明(.h),方法实现(.m),方法调用(导入对应的头文件)。如果方法只声明,未实现。调用方法时,会造成程序崩溃。        在OC中不存在“调用方法”的说法,在OC中是“消息发送”机制,即将方法发送给对象。1、OC方法类型:OC中只有两种方法:-实例方法  +类方法类方法只能类调用:  + [类 类方法],在类方法中,不能使用实例变量。实例方法只

2015-09-08 17:45:16 515

原创 Objective-C基础知识之(一):类、对象、创建对象、对象操作

一、Objective-C基本概念面向对象编程:OOP (Objective Oriented Programing)类似的语言:C++,Java,C#1、类和对象类:具有相同特征和行为的事物的抽象。对象是类的实例,类是对象的类型。类是模板,对象是具体表现,任何对象都要占用内存空间。2、面向对象和面向过程的区别面向对象以对象为中心;面向过程以事件为中心。3、

2015-09-07 19:41:30 1110

转载 三教九流

“三教”的说法起自三国时代,指的是儒释道三种教派。       儒,属孔子所创,并非宗教,而汉儒为了抬高孔子的地位,把儒家学说渲染得像宗教一样,就被人们看做宗教了。       释,指东汉时传入中国的佛教,因其为印度释迦牟尼所创而简称为释。       道,是东汉时创立的一种宗教,讲究炼丹修道,寻求长生不老之法。        “九流”的说法,最早见于《汉书 · 艺文志》,

2015-09-06 11:04:06 341

原创 C语言基础知识之(二十):指针高级运用

函数指针:1、定义指针指向函数int (*p)(int, int) = maxValue;2、通过指针调用函数,把函数指针当做函数名使用printf("max = %d\n", p(3, 5));结果是最大值5.语法:函数指针的类型  返回值类型 (*)(参数列表)如: int(*p)(int, int); 例题:定义两个函数 ,一个求最大值,一个求和,输入

2015-09-05 17:39:43 602

原创 C语言基础知识之(十九):内存操作的其他函数:内存初始化,内存拷贝,内存比较

内存操作的其他函数:内存初始化,内存拷贝,内存比较1、内存初始化语法:void*memset(void *s , int c , size_t n)说明:从给定的地址s开始,将n个字节中的值设置为c。作用:该函数以字节为单位进行操作,将内存中的数据清空。malloc+memest 等价于calloc 在堆内存中存储一个整型数,分配内存时,将内存中的数据先清空int

2015-09-01 19:28:40 593

原创 C语言基础知识之(十八):堆内存的分配函数及运用

由开发人员负责分配和回收的内存区:堆区1、特点:由开发人员分配和回收。如果没有回收会造成程序泄露,导致程序崩溃。2、堆区分配内存的函数作用:指定分配存储空间的大小(字节数),将分配的存储空间的起始地址返回。堆内存是使用地址操作的,地址存储在对应的指针变量中。 Malloc函数语法:void * malloc(size)说明:void * 表示无类型指

2015-09-01 19:25:22 500

原创 C语言基础知识之(十七):内存的分区:栈区,堆区,静态区(全局区),常量区,代码区

一、内存分区种类计算机内存划分为5个区,地址从高到底依次是:栈区,堆区,静态区(全局区),常量区,代码区。如:int a = 10; //变量a存储在栈区char *s ="iPhone"; //指针s指向常量区“iPhone”打印地址:栈区的地址比常量区的地址大。printf("%p\n",&a);printf("%p\n",s);二、由系统分配和回收的内存区的主

2015-09-01 19:21:17 936

原创 C语言基础知识之(十六):结构体和指针

一、定义一个老师类型的结构体,包含老师的姓名和年龄struct teacher{    char names[20];    int age;};typedef structteacher Teacher;Teacher t1 = {“zhangsan”,25}; 结构体指针:指针指向结构体类型的变量.定义指针指向结构体,指针p指向结构体的起始地址,即第一个成员

2015-08-31 21:19:35 396

原创 C语言基础知识之(十五):指针和函数

指针就是地址指针作为函数的参数,目的:将地址传入函数 例:函数:使用指针交换两个整型变量的值传入函数的是变量的地址,不是变量中存储的值void swapValue(int*p1, int *p2);void swapValue(int*p1, int *p2){//    p1指向第一个变量, p2指向第二个变量    int temp = *p1;    *p

2015-08-30 20:16:57 399

原创 C语言基础知识之(十四):指针和字符数组、字符串数组

1、定义字符数组存储字符串char str[ ] ="iPhone";//一维字符数组,末尾含有’\0’字符。  定义一个字符指针指向字符数组char *p = str;   使用指针p访问字符for (int i = 0; i    printf("%c ", p[i]);}使用指针p打印字符串printf("%s\n",p);//p = strprint

2015-08-30 20:14:22 544

原创 C语言基础知识之(十三):指针、指针和数组

一、指针的声明和定义1、访问数据一般有两种方式:直接、间接直接:通过变量访问数据,如:通过变量a访问内存单元。int a = 10;printf("%d\n",a); 间接:通过内存单元的地址访问数据。取地址符&,获取变量a所在的地址并用%p打印。printf("变量a存储单元的地址:%p\n",&a);   2、指针的定义存储内存单元地址的变量称为:指针指

2015-08-30 20:12:17 485

空空如也

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

TA关注的人

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