- 博客(53)
- 资源 (10)
- 收藏
- 关注
原创 iOS关于内存管理的那点事儿
iOS内存管理iOS内存管理从整体来讲,就四点: ①自己生成的对象,自己持有; ②非自己生成的对象,自己也能持有; ③不再需要自己持有的对象时释放; ④非自己持有的对象无法释放。MRC下的内存管理在进行MRC内存管理时,我们需要注意几点: ①自己生成的对象,自己持有,比如new/alloc/copy/mutableCopy创建; ②非自己生成的对象,自己也能持有,比如retain持有;
2018-03-30 19:04:42
400
原创 【2018最新】iOS面试题(二)
1.VC的生命周期 init:初始化程序 loadView:视图初始化 viewDidLoad:视图加载完成 viewWillAppear:视图即将显示 viewDidAppear:视图显示时调用 viewWillDisappear:视图即将消失 viewDidDisappear:视图消失时调用2.assign 和weak的区别 weak所有权修饰符表明该属性定义了一种非拥有关系,为
2018-03-21 17:24:51
2546
原创 【2018最新】iOS面试题(一)
1.为什么OC是一门动态语言? 动态类型:OC在运行时决定对象的类型,比如id; 动态绑定:程序在运行时判断需要调用的方法,而不是在编译时; 动态载入:程序在运行时根据需要再加载可执行的代码和资源。2.设计模式是什么?你知道哪些设计模式?简要叙述。 设计模式是一种解决问题的思维,通过设计模式达到可复用、可拓展的目的,尽量实现高内聚低耦合。 代理模式:用于回调数据。 观察者模式:当对...
2018-03-15 17:40:28
6105
原创 从NSURLSession到AFNetworking再到自己封装一个网络框架
从NSURLSession讲起首先从七层网络协议讲起:物理层 –> 数据链路层 –> 网络层 –> 传输层 –> 会话层 –> 表示层 –> 应用层,我们说的NSURLSession是会话层。常用术语讲解: NSURL:请求地址,定义一个网络资源路径。一个请求地址由协议、主机地址、路径、参数(非必须)构成。NSURLRequest:网络请求,根据请求地址建立一个请求。NSMutableURLReq
2017-11-17 12:31:39
1406
原创 iOS架构模式MVC、MVP、MVVM(内附demo)
MVCMVC的实现思路是:用户操作View,在Controller层完成业务逻辑处理,更新Model层,将数据显示在View层。 在MVC中,每个层之间都有关联,耦合比较紧,在大型项目中,维护起来比较费力。 View把控制权交给Controller层,自己不执行业务逻辑;Controller层执行业务逻辑并且操作Model层,但不会直接操作View层;View和Model层的同步消息是通过观察者
2017-11-16 17:04:39
5093
原创 AFNetworking详细解析之概况介绍
AFNetworking最新版本包含以下几部分:第一部分:AFSecurityPolicy.mAFN提供的三种安全策略:typedef NS_ENUM(NSUInteger, AFSSLPinningMode) { AFSSLPinningModeNone,//无校验 AFSSLPinningModePublicKey,//公钥校验 AFSSLPinningModeCerti
2017-10-27 17:18:02
1650
原创 js根据开始时间和结束时间获取该时间段内的每天、每周一、每月、每年
本篇博客实现效果(内附demo地址): test.html文件代码<html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="./js/jquery-2.1.1.js"></script></head><body><div class="getDay"><a href=
2017-09-08 23:09:30
14800
2
原创 常用eharts图表展示方法(内附5个常用样例)
最近项目中大量运用了图表的东西,现贴出几个demo,供大家参考,如有类似需求的童鞋,直接拿走不谢。点击进入echarts官方网址demo将下面的代码直接复制粘贴即可1.效果图: option = { tooltip: { trigger: 'axis', axisPointer: { type: 'cr
2017-08-23 01:52:14
3445
原创 bootstrap-datepicker实现年、月、日动态切换
效果图: bootstrap-datepicker使用时,无法动态重置年、月、日控件,网上搜索了半天没有找到相应的方法,后来自己根据jquery的特性通过动态增删日期控件,实现年、月、日的无缝动态切换。1.新建tet.html 引入bootstrap3-datepicker.css、bootstrap-datepicker.js等文件<!DOCTYPE html><html><head>
2017-08-23 01:26:25
8187
原创 html自定义搜索框(与selector2不同)
实现效果图(博客底部附demo下载地址): 1.新建test.html 引入jquery-2.1.1.js、biHzpy.js、test.css、test.js文件<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>智能搜索</title> <script src="./js/jquery-2.1.1.j
2017-08-18 00:09:22
4622
原创 echarts自定义鼠标悬浮显示效果
最近在做报表系统,用到了大量的图表显示效果,下面总结一下我使用过程中遇到的问题及解决办法。本教程主要讲解了:鼠标悬浮时自定义显示效果、Y轴显示金额柱状图上面显示百分比、修改X、Y轴坐标颜色、两个Y轴实现水平线一致。(我描述的可能不好,请看图来理解)点击进入echarts官方网址demo将下面的代码直接复制粘贴即可1.鼠标悬浮时自定义显示效果、修改X、Y轴坐标颜色 var brokenName =
2017-08-17 23:14:45
81497
1
原创 html设置高度等于浏览器高度并实现内容居中
最近在做告警系统企业微信(原企业号)时,根据产品的需求,需要html的高度与手机屏幕高度相同。视图间以百分比来表示,并实现内容的居中、垂直居中、水平居中。方法一: 实现效果: 1.创建detail.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>告警</title> <
2017-07-14 02:12:18
7381
原创 不改变button大小,扩大点击范围
如图所示: 假设我们要做类似上图的一个效果,点击关闭图片的时候关闭窗口。但是为了整体UI效果,按钮做的小了一些,这时候会影响点击效果。(诚然,有的时候你觉得按钮做大一点不就行了吗,我也是这么想的,可是产品和UI会用一千个理由怼回来的)现在我贴出一个已经测试过的方法供大家使用。我们将要实现的效果如图: 1.新建一个UIButton的Category – UIButton+EnlargeEdge
2017-05-16 15:29:41
6949
原创 macOS逆向开发之class-dump
一、配置class-dump 1.打开http://stevenygard.com/projects/class-dump下载class-dump-3.5.dmg2.双击class-dump-3.5.dmg看到如图所示: 3.Command+Shift+G快捷键进入/usr/local/bin,并将class-dump文件拷贝到该目录下,如图所示: 4.Terminal输入sudo chmod
2017-05-03 01:17:26
2397
1
原创 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
532
原创 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
546
原创 iOS开发系列 ---- UI (TableView的编辑和多项删除操作)
增加、删除和移动效果图: 实现核心代码:#import "ViewController.h"@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>@property (nonatomic, strong) NSMutableArray *arrayDS;@property (nonatomic, stro
2017-04-17 16:32:42
3428
原创 iOS开发系列----UI(简单TableView的使用)
关于TableView将分三个部分讲解:简单TableView的使用、自定义TableView、MVC架构下TableView的使用。本章完成效果图: #import "ViewController.h"@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>@property (nonatomic, str
2017-04-17 14:48:56
3804
原创 iOS消息机制--动态方法解析、消息转发机制
动态方法解析: 对象在收到无法解读的消息后,调用类方法+ (BOOL)resolveInstanceMethod:(SEL)sel来动态为其新增实例方法以处理该选择子。(如果尚未实现的方法是类方法,则调用+ (BOOL)resolveClassMethod:(SEL)sel)新建HTResolveMethod类 ①HTResolveMethod.h#import <Foundation/Foun
2017-03-16 01:28:54
3736
原创 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
618
原创 自学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
412
原创 自学iOS开发系列----UI(视图编程入门:UIGestureRecognizer)
本章动画效果: 本章我们讲解手势的七种用法,demo中捏合与旋转建议在真机中测试手势的七种用法demo地址
2017-03-09 13:30:19
307
原创 自学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
173
原创 自学iOS开发系列----UI(视图编程入门:UINavigationController)
本章通过三个工程实现以下效果(控件的使用已经在demo中通过注释详细说明,此处不做赘述):①HTNavigationController: ②HTNavigationButton: ③HTNavigationToolBar: demo地址
2017-03-04 12:07:24
656
原创 自学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
839
原创 iOS开发监测手机流量使用情况
获取手机使用流量存在几个问题: ①iOS是无法像Android一样监听到开机广播和关机广播的,立刻关机再开机,监测的移动网络下流量会默认清空。 ②应用在后台运行时,突然被杀死,无法对流量统计,需要在应用进入后台时先保存流量使用情况 ③如果用户第一次打开流量统计软件是在2月份,当第3个月打开时,应该对2月份使用的流量清零。但是问题来了,我们所能获取的是从监测开始,消耗的总流量。套餐流量为每个月1
2017-02-27 19:07:06
9005
1
原创 自定义键盘(纯数字键盘、小数点键盘、身份证键盘)
本案例实现效果如图: 所需导入类文件及资源文件如图: 核心代码 HTNumberKEyboardView.h#import <UIKit/UIKit.h>/** HTNumberKeyboardType自定义键盘类型 * * 纯数字键盘:HTNumberKeyboardNumber * 小数点键盘:HTNumberKeyboardDouble * 身份证键盘:HTNumberKe
2017-02-26 23:03:08
7871
1
原创 底部弹出密码输入框
本密码输入框实现效果如下: 底部弹出密码输入成功效果图: 底部弹出密码输入失败效果图: 中间弹出密码输入框输入成功效果图:(失败图脑补吧,就不展示了) HTPasswordShowView.h/** * BottomPop 密码框从底部弹出(类似于支付宝) * ScalePop 密码框从中间弹出(类似于微信) */typedef NS_ENUM(NSUInteger,Passw
2017-02-25 18:10:24
2126
原创 自学iOS开发系列----UI(视图编程入门:UIView)
本篇博客,教学目标: UIView是UIKit中部分控件的直接或者间接的父类。UIView的层次和事件接收 【1】父视图不能接收事件,则子视图无法接收事件 【2】子视图超出父视图部分,不能接收事件 【3】同一个父视图下,最上面的视图,首先遭遇事件,如果能够响应,就不向下传递事件,如果不能响应,事件向下传递.1.在视图A上加载视图B,那么视图B就是视图A的子视图,视图A就是视图B的父视图。父视
2016-12-30 15:00:01
436
原创 自学iOS开发系列----UI(视图编程入门:UIButton)
本篇内容,教学目标: 点击按钮可以触发点击事件,来实现一些操作,比如界面跳转,刷新数据等。好比在淘宝上买了衣服,加入购物车,付款的时候,需要点击点击确认支付来触发支付事件,完成支付。新建项目导入两种图片,并分别名为:background_image.png和background_highlighted_image.pngViewController.m#import "ViewController
2016-12-30 11:33:45
414
原创 支付宝、微信sdk支付流程模拟
今天和同事闲聊的时候,聊到对接支付宝和微信sdk的事情,聊完以后兴致未尽。顺便去网上搜了一下,怎样做一款sdk,网上的教程少的可怜,能搜到的也是好坏各异,参差不齐。遂下决心,敲一篇博客,把sdk的实现流程讲解一下。给迷茫中的小白一点思路。还是那句话,一万个读者有一万个哈姆雷特,一万个程序员有一万种编码风格,代码仅供参考。最后的效果如图: sdk内部类文件: 导入sdk后demo内部类文件: ①
2016-12-29 13:59:27
7120
原创 自学iOS开发系列----UI(视图编程入门:ViewController、UIImageView、UILabel)
更新完OC部分以后,公司通知我去成都参加安全支付大会,去了三天时间,回来以后把开会的内容做了汇总,刚忙完手头的事情才想起好几天没有更新过博客了。今天闲下来了,正好更新一下。 今天是第一篇UI的博客,主要讲一下ViewController(控制器)、UIImageView(图片视图)、UILabel(标签)。好了,废话不多说了,进入正题。1.控制器的生命周期(这里就不详细叙述了,这个自行百度即可,主
2016-12-21 16:32:32
966
原创 自学iOS开发系列----OC(内存管理)
C内存管理 1.学习内存管理的目的? ①设备内存有限,如果不进行合理内存管理,内存会越积越多,最终导致程序崩溃; ②必须掌握的知识,提高程序稳定性/健壮性。2.C中的内存管理 C中堆空间由程序员手动(coding)创建,也由程序员手动释放,确保堆空间正确释放,称为内存管理。3.内存管理常见的错误 【内存泄漏】内存空间使用完毕之后没有被释放,造成内存堆积,达到一定程度程序崩溃 【提前释放
2016-12-14 16:57:11
460
原创 自学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
625
原创 自学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
746
原创 APICloud模拟微信支付调用(非集成微信支付SDK)
最近因为公司业务发展,需要研究APICloud的使用,主要是针对iOS模块化开发这块。我在APICloud官网搜索半天也没得到解决方案,而下载的APICloud Demo过于简单,故经过几天的钻研,找到了解决办法,现总结出来,给有类似需求的朋友提供一个解决方案。老规矩,先发一个效果图(内附iOS模块及项目Demo)。一、两个核心文件内容 APICloudSDK.m#import "APICloud
2016-12-02 14:48:29
2605
原创 自学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
1998
原创 自学iOS开发系列----OC(类别和扩展)
类别(Category) 1.类别的作用:为已知的类型增加新的方法2.类别的局限性 ①不能添加实例变量; ②方法名冲突,类别中方法的优先级会更高3.类别的应用场景:将类的实现分散到不同的文件或框架中4.创建Category文件 ①command+N ②Objective-C File ③添加类型和类别名称 File: Printf File Type:
2016-11-29 20:10:38
441
原创 自学iOS开发系列----OC(继承)
继承 继承也可以被称作派生,父类拥有的属性和方法,子类直接获得,这个过程叫做继承。 子类在父类基础上,衍生出了自己的属性和方法,称为派生。 继承和派生是描述一件事物的两种侧重1.从生活角度理解继承 生物 -> 动物 -> 人 -> 男人 宇宙 -> 银河系 -> 太阳系 生物 -> 植物 -> 花 -> 牡丹、玫瑰2.父类和子类的称呼 父类:父类 超类 基类 子类:子类
2016-11-29 18:27:03
600
原创 自学iOS开发系列----OC(属性、点语法、修饰符)
属性和点语法 1.成员变量和属性 属性用@property来表示,自动生成setter和getter方法来操作变量。 成员变量需要手动生成setter和getter方法来操作变量。利用成员变量和属性分别对LOL中的英雄名字赋值并输出赋值后的英雄名字 ①成员变量 新建Hero类 Hero.h文件#import <Foundation/Foundation.h>@interface Hero
2016-11-29 15:03:41
515
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人