iOS开发
文章平均质量分 53
程序员小咖
本人自2013年开始从事iOS开发工作至今,现为公司高级开发工程师
展开
-
自学iOS开发系列----OC(属性、点语法、修饰符)
属性和点语法 1.成员变量和属性 属性用@property来表示,自动生成setter和getter方法来操作变量。 成员变量需要手动生成setter和getter方法来操作变量。利用成员变量和属性分别对LOL中的英雄名字赋值并输出赋值后的英雄名字 ①成员变量 新建Hero类 Hero.h文件#import <Foundation/Foundation.h>@interface Hero原创 2016-11-29 15:03:41 · 495 阅读 · 0 评论 -
自学iOS开发系列----OC(内存管理)
C内存管理 1.学习内存管理的目的? ①设备内存有限,如果不进行合理内存管理,内存会越积越多,最终导致程序崩溃; ②必须掌握的知识,提高程序稳定性/健壮性。2.C中的内存管理 C中堆空间由程序员手动(coding)创建,也由程序员手动释放,确保堆空间正确释放,称为内存管理。3.内存管理常见的错误 【内存泄漏】内存空间使用完毕之后没有被释放,造成内存堆积,达到一定程度程序崩溃 【提前释放原创 2016-12-14 16:57:11 · 430 阅读 · 0 评论 -
自学iOS开发系列----UI(视图编程入门:ViewController、UIImageView、UILabel)
更新完OC部分以后,公司通知我去成都参加安全支付大会,去了三天时间,回来以后把开会的内容做了汇总,刚忙完手头的事情才想起好几天没有更新过博客了。今天闲下来了,正好更新一下。 今天是第一篇UI的博客,主要讲一下ViewController(控制器)、UIImageView(图片视图)、UILabel(标签)。好了,废话不多说了,进入正题。1.控制器的生命周期(这里就不详细叙述了,这个自行百度即可,主原创 2016-12-21 16:32:32 · 937 阅读 · 0 评论 -
自学iOS开发系列----UI(视图编程入门:UIButton)
本篇内容,教学目标: 点击按钮可以触发点击事件,来实现一些操作,比如界面跳转,刷新数据等。好比在淘宝上买了衣服,加入购物车,付款的时候,需要点击点击确认支付来触发支付事件,完成支付。新建项目导入两种图片,并分别名为:background_image.png和background_highlighted_image.pngViewController.m#import "ViewController原创 2016-12-30 11:33:45 · 391 阅读 · 0 评论 -
自学iOS开发系列----UI(视图编程入门:UIView)
本篇博客,教学目标: UIView是UIKit中部分控件的直接或者间接的父类。UIView的层次和事件接收 【1】父视图不能接收事件,则子视图无法接收事件 【2】子视图超出父视图部分,不能接收事件 【3】同一个父视图下,最上面的视图,首先遭遇事件,如果能够响应,就不向下传递事件,如果不能响应,事件向下传递.1.在视图A上加载视图B,那么视图B就是视图A的子视图,视图A就是视图B的父视图。父视原创 2016-12-30 15:00:01 · 413 阅读 · 0 评论 -
自学iOS开发系列----UI(常用控件:UIAlertController、UIPickerView、UIProgressView、UIWebView、UISwitch)
本章列举了几种项目中经常使用的控件,并讲解该控件主要的属性和方法。 UIAlertController: UIPickerView: UIStepper和UIProgressView: UISwitch: UIWebView: 在文末普及一下Workspace的用法: 双击Workspace –> 选择Add Files to “Workspace” –> 选中Project文件,点击原创 2017-03-04 00:50:07 · 808 阅读 · 0 评论 -
自学iOS开发系列----UI(视图编程入门:UINavigationController)
本章通过三个工程实现以下效果(控件的使用已经在demo中通过注释详细说明,此处不做赘述):①HTNavigationController: ②HTNavigationButton: ③HTNavigationToolBar: demo地址原创 2017-03-04 12:07:24 · 619 阅读 · 0 评论 -
自学iOS开发系列----UI(视图编程入门:UITabBarController)
本章教学效果: 核心代码 封装工具类Tools: HTTools.h#import <Foundation/Foundation.h>#import <UIKit/UIKit.h>@interface HTTools : NSObject//工厂模式:想要创建一个Button+ (UIButton *)createButton:(CGRect)frame bgColor:(UIColor原创 2017-03-09 10:46:19 · 146 阅读 · 0 评论 -
自学iOS开发系列----UI(视图编程入门:UIGestureRecognizer)
本章动画效果: 本章我们讲解手势的七种用法,demo中捏合与旋转建议在真机中测试手势的七种用法demo地址原创 2017-03-09 13:30:19 · 288 阅读 · 0 评论 -
自学iOS开发系列----UI(视图编程入门:UIScrollView)
本章实现效果一: 核心代码:#import "ViewController.h"@interface ViewController ()<UIScrollViewDelegate>@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; self.navigationItem.title原创 2017-03-11 00:26:32 · 396 阅读 · 0 评论 -
iOS开发系列----UI(视图编程入门:Delegate、Block、单例、属性传值)
本章介绍三种逆向传值方式(Delegate、Block、单例)、一种正向传值方式(属性)Delegate传值: 核心代码: SecondViewController.h#import <UIKit/UIKit.h>//<1>声明协议@protocol SecondVCDelegate <NSObject>- (void)changeText:(NSString *)text;@end@inte原创 2017-03-11 10:46:34 · 591 阅读 · 0 评论 -
iOS开发系列 ---- UI (TableView的编辑和多项删除操作)
增加、删除和移动效果图: 实现核心代码:#import "ViewController.h"@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>@property (nonatomic, strong) NSMutableArray *arrayDS;@property (nonatomic, stro原创 2017-04-17 16:32:42 · 3366 阅读 · 0 评论 -
iOS开发系列 ---- UI (自定义TableView)
本章实现效果: 我们使用MVC架构来实现自定义TableView,具体的MVC介绍请自行百度,在本章中不作为主要内容讲解。Model层: DataSource.h#import <Foundation/Foundation.h>@interface DataSource : NSObject+ (NSArray *)getUserInfo;@endDataSource.m#import "Dat原创 2017-04-28 15:37:35 · 518 阅读 · 0 评论 -
iOS开发系列 ---- UI(UICollectionView的使用)
本章实现效果: 本章我们依然使用MVC架构来实现UICollectionViewModel层: HTDataSource.h#import <Foundation/Foundation.h>@interface HTDataSource : NSObject+ (NSArray *)getInfo;@endHTDataSource.m#import "HTDataSource.h"@implem原创 2017-04-28 16:49:24 · 508 阅读 · 0 评论 -
自学iOS开发系列----OC(block)
1.block:块语法,是一种新的语法结构。学习的时候可以类比于函数指针。2.block和函数指针对比#import <UIKit/UIKit.h>#import "AppDelegate.h"//声明函数int add(int,int);int main(int argc, char * argv[]) { @autoreleasepool { //函数名表示函数的入口地原创 2016-12-07 13:17:43 · 604 阅读 · 0 评论 -
自学iOS开发系列----OC(协议和委托代理)
协议 1.协议是OC的一种语法。OC的协议,类似于JAVA中接口,用来规范函数声明,实现多继承或对象间通信的一种语法。2.协议的两种写法 ①command+N新建协议类(HTProtocol) ②为协议命名 ③HTProtocol.h//第一种写法#import <Foundation/Foundation.h>@protocol HTProtocol <NSObject>- (void)原创 2016-12-05 21:00:24 · 660 阅读 · 0 评论 -
自学iOS开发系列----OC(继承)
继承 继承也可以被称作派生,父类拥有的属性和方法,子类直接获得,这个过程叫做继承。 子类在父类基础上,衍生出了自己的属性和方法,称为派生。 继承和派生是描述一件事物的两种侧重1.从生活角度理解继承 生物 -> 动物 -> 人 -> 男人 宇宙 -> 银河系 -> 太阳系 生物 -> 植物 -> 花 -> 牡丹、玫瑰2.父类和子类的称呼 父类:父类 超类 基类 子类:子类原创 2016-11-29 18:27:03 · 561 阅读 · 0 评论 -
自学iOS开发系列----OC(类别和扩展)
类别(Category) 1.类别的作用:为已知的类型增加新的方法2.类别的局限性 ①不能添加实例变量; ②方法名冲突,类别中方法的优先级会更高3.类别的应用场景:将类的实现分散到不同的文件或框架中4.创建Category文件 ①command+N ②Objective-C File ③添加类型和类别名称 File: Printf File Type:原创 2016-11-29 20:10:38 · 413 阅读 · 0 评论 -
自学iOS开发系列----C语言(函数)
函数概述1.为什么需要函数当大型程序中,某个功能,会被反复利用,我们把这些功能【封装】成功能模块,称为函数。以后想使用这个功能,只需调用这个函数就可以了。使用函数可以降低开发成本,利于维护2.函数的分类库函数:由官方或者第三方库编写的函数,保存在动态库,静态库,甚至是开源代码。程序员可以直接调用。使用库函数时往往伴随着导入库或者导入头文件。如arc4random()在stdlib库中,需要头文件支持原创 2016-11-17 20:36:56 · 568 阅读 · 0 评论 -
自学iOS开发系列----C语言(指针及递归函数)
指针及递归函数概述1.认识指针【地址】内存每个字节都有一个数字的编号,称为地址。【指针】指针是一个变量,用来装地址。【注】指针是地址变量,地址是指针常量2.指针的作用①同一个栈内的数据处理,使用指针没有意义;②指针就是用来访问栈外面的空间;③指针就是用来跨栈的3.空指针和野指针【空指针】值为0的指针(NULL)【野指针】指针的值未知,或者说指向了未知的地方【泛型指针】void *p4.函数的递归调用原创 2016-11-17 20:42:17 · 576 阅读 · 0 评论 -
自学iOS开发系列----OC(文件管理类、文件句柄类)
1.NSString和NSData互相转化NSString * str = @"hello世界";NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding];NSLog(@"数据大小:%lu",data.length);NSLog(@"字符串长度:%lu",str.length);//一个汉字的长度是1,占3个字节N原创 2016-11-30 12:58:09 · 1964 阅读 · 0 评论 -
自学iOS开发系列----OC(Xcode使用)
1.打开Xcode,点击Create a new Xcode project2.新建项目 3.输入项目名称 4.进入main.m 5.输入NSLog(@”hello world”);并点击左上方三角形按钮,运行程序 6.在右下方输出运行结果原创 2016-11-21 11:44:19 · 1342 阅读 · 0 评论 -
自学iOS开发系列----OC(类和对象)
学习一门新的语言跟玩一个新游戏差不多,下载游戏(开发工具),熟悉游戏规则(了解开发工具如何使用),看解说视频(看书籍,博客,开发视频),自己多玩几次(多练习敲代码),慢慢的就入门,然后掌握,然后精通。OC阶段我计划用11个篇幅来概述:类和对象、字符串、数组、字典、点语法、继承和类别、文件操作、JSON解析、内存管理、协议代理、Blocks。 开篇之前再次重申一遍,本系列以实战为主,理论为辅,目的是原创 2016-11-21 13:30:00 · 583 阅读 · 0 评论 -
自学iOS开发系列----OC(数组)
C里面的数组,元素类型是相同的;OC里面的数组,元素的类型可以是多种混杂,并且可以是对象。一、不可变数组 1.数组的遍历 ①for循环NSArray * array = [[NSArray alloc] initWithObjects:@"a",@"b",@"c",@"d", nil];for (int i = 0; i < [array count]; i++) { NSString原创 2016-11-21 16:21:28 · 709 阅读 · 0 评论 -
自学iOS开发系列----OC(字符串)
OC的程序,依托于基础类库Foundation,这个框架里提供很多官方类。其中有三个基础的数据结构:字符串、数组、字典。OC兼容C的字符串,但是OC有自己的字符串,是一个类。声明的对象,既能存储一串字符,又能通过一些方法,管理存储的字符。一、不可变字符串1.创建字符串C中用”” 表示字符串,OC中用@”” 表示字符串;打印C字符串用%s,打印OC字符串用%@。①字面量方法(常量赋值)NSString原创 2016-11-21 13:44:14 · 460 阅读 · 0 评论 -
自学iOS开发系列----C语言(结构体、枚举和宏)
概念1.认识结构体【数组】是相同类型的元素的集合【函数】是对处理数据的方法的封装【结构体】就是对相同或者不同的数据类型的封装2.结构体的初始化和赋值【初始化】对结构体的初始化就是对结构体的每个成员变量进行初始化【赋值】对结构体进行赋值,就是对结构体的每个成员变量进行赋值,并且可以整体赋值3.枚举:有一些简单的数据,既不方便使用基础类型变量存储,也不方便封装成结构体,可以使用枚举。4.宏:发生在预处理原创 2016-11-21 11:38:54 · 381 阅读 · 0 评论 -
自学iOS开发系列----C语言(内存及字符串)
一、内存1.内存分配静态内存分配:内存空间分配在栈,数据段,代码段。分配之后只能由系统释放,不能通过程序修改空间大小和释放空间,称为静态内存分配。所分配内存空间的带下,在【编译】时确定,在【运行】时无法修改。【编译】:把我们的代码翻译成机器能够运行的机器码。【运行】:机器按照编译完的机器码去执行。动态内存分配:内存空间分配在栈空间,大小由程序员自己决定,可以通过代码对空间大小进行修改,通过代码对空间原创 2016-11-17 20:56:10 · 580 阅读 · 0 评论 -
自学iOS开发系列----OC(字典)
字典是存储数据的一种数据结构,字典是无序的。里面的元素以键值对的形式存在,理论上可以为任意对象,但是实际使用上key都是NSString类型。 图中key是dictionary,value是字典不可变字典 1.字典的创建 ①实例变量NSDictionary * dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1",@"k原创 2016-11-21 19:33:28 · 954 阅读 · 0 评论 -
iOS开发系列----UI(简单TableView的使用)
关于TableView将分三个部分讲解:简单TableView的使用、自定义TableView、MVC架构下TableView的使用。本章完成效果图: #import "ViewController.h"@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>@property (nonatomic, str原创 2017-04-17 14:48:56 · 3757 阅读 · 1 评论