8 ajdfhajdkfakr

尚未进行身份认证

暂无相关描述

等级
TA的排名 4w+

函数式编程

作为iOS开发者,常用Masnory/SnapKitMasonry是常用的自动布局的第三方框架Snapkit是Masonry团队打造的swift版本的自动布局框架一个典型的Masonry的语句make.centerY.equalTo(self).offset(100);就是这个”.”让Masonry更加鲜活的展示给了开发者。这就是链式编程。链式编程概要如果想...

2018-05-29 09:37:09

面向切面编程

切面可以简单地理解为嵌入不同函数中的功能相同的操作(打印调试信息等),每类功能相同的操作可以抽取出一个切面。OOP:面向对象编程,针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。AOP:面向切面编程,针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。AOP是处理某个步骤和阶段的,从...

2018-05-28 17:43:19

swift基础语法练习

importUIKitvarstr="Hello,playground"varnum=5num+=5classperson{   varname="zhangshanshan"   varaddress="上海市浦东新区"   varage=5   funcupdateInfo(age:Int

2018-05-28 15:47:30

UIViewController生命周期

UIWindow如果相当于画框的话,UIViewController相当于是一个画布。1.创建一个类继承于UIViewController2.loadView方法当访问UIViewController的view属性时,view如果此时是nil,那么VC会自动调用loadView方法来初始化一个UIView并赋值给view属性。此方法用在初始化关键view,需要注意的是,在view初始化之前,不能先调

2018-02-06 17:17:36

重写、覆盖、重载、多态

override->重写(=覆盖)、overload->重载、polymorphism->多态【重写】override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。重写(覆盖)的规则:1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载.2、重写方法的访问修饰符一定要大于被重写方法的

2018-02-06 16:49:20

常见的语言编码

常见的语言编码有:GB2312:简体中文编码,一个汉字占用2字节,在大陆是主要编码方式。BIG5:繁体中文编码。主要在台湾地区采用。GBK:支持简体及繁体中文,但对他国非拉丁字母语言还是有问题。UTF-8:Unicode编码的一种。Unicode用一些基本的保留字符制定了三套编码方式,它们分别UTF-8,UTF-16和UTF-32。在UTF-8中,字符是以8位序列来编码的,用一个或几个字节来表示一个

2018-02-06 14:54:57

iOS程序优化相关

1.tableview的优化优化:1.1正确的复用cell。1.2减少在返回每个cell里面的处理逻辑和处理时间。尽量将数据进行缓存和复用。1.3,尽量减少处理加载和计算的时间,不阻塞UI线程。1.4,尽量使用绘制每个cell。1.5,设置每个cell的opaque属性。1.6,尽量返回每行固定的height。1.7,在每个cell减少图形效果。1.8,分段加载数据。2.应用程序性能的调优1.用

2018-02-06 14:42:30

面试题系列(七)--基础知识

1.事件响应(responderchain)只有继承了UIResponder的类才能响应touch事件,先是最上层的view响应事件,如果该view有视图控制器的话会是下一个响应者,否者就是该view的父视图,这样至上而下传递事件。直到单例UIWindow对象,最后是单例UIApplication对象以终止,UIApplication的下一个响应者是nil,已结束整个响应循环。事件在传递过程

2018-02-06 14:36:08

渐变色

给视图添加渐变色,示例如下:rect.origin.y=CGRectGetMaxY(headView.frame);rect.size.height=50;UIView*titleView=[[UIViewalloc]initWithFrame:rect];CAGradientLayer*gradient=[CAGradientLayerlay

2018-01-26 15:36:46

UIColor,CGColor,CIColor三者的区别和联系

一、UIColor  UIColor是UIKit中存储颜色信息的一个重要的类,一个UIColor对象包含了颜色和透明度的值,它的颜色空间已经针对IOS进行了优化。UIColor包含了一些类方法用于创建一些最常见的颜色,如白色,黑色,红色,透明色等,这些颜色的色彩空间也不尽相同(白色和黑色是kCGColorSpaceDeviceGray,红色的色彩空间是kCGColorSpaceDeviceRGB)

2018-01-19 15:41:38

面试题系列(六)-基础知识

1.多线程、特别是NSOperation和GCD的内部原理。2.运行时机制的原理和运用场景。3.SDWebImage的原理。实现机制。4.如何解决TableView卡的问题。tableView滑动卡的问题主要是因为:从缓存中或者是从本地读取图片给UIImage的时候耗费的时间。需要把下面的两句话放到子线程里面:NSData*imgData=[NSDatadataWithContents

2018-01-18 10:39:00

SWift入口分析

1.swift为什么不需要main在c/c++及其它语言中都有一个main函数,程序从main作为起点,开始执行程序,如下:intmain(intargc,constchar*argv[]){printf("Hello,World!\n");return0;}main函数实际上是一个特殊的函数,为了能找到程序入口,大多楼语言都约定main()函数作为入口。那么

2018-01-17 15:56:59

fallthrough的用法注意总结

在swift的switch中,case后面加了fallthrough的用法,就和OC的case后面没加break的用法是一样的!使用fallthrough需要注意的有:1.加了fallthrough后,会直接运行【紧跟的后一个】case或default语句,不论条件是否满足都会执行varage=10switchage{case0...10:print("小朋友")

2018-01-17 15:42:43

SWift基本语法(二)

一可选类型知识点补充例一:强转并且制定类型letstr01="23"//打印结果:"23"letage:Int?=Int(str01)//打印结果:23问题:该例子转化的结果为什么需要用可选类型来接收?解答:因为很有可能是转化不成功的,如果此时不用可选类型来接收的话,万一转化失败,那么该值就为空(nil),如果不选择可选类型来接收,程序会崩溃.例二:获取

2018-01-17 15:33:22

swift基本语法(一)

importUIKitvarstr="Hello,playground"varnum=5num+=5classperson{varname="zhangshanshan"varaddress="上海市浦东新区"varage=5funcupdateInfo(age:Int,address:String){

2018-01-16 17:59:45

面试题系列(五)-网络协议

1.UDP/TCP的区别UDP是用户数据报协议:主要用在实时性要求高以及对质量相对较弱的地方,但面对现在高质量的线路不是容易丢包除非是一些拥塞条件下,如流媒体TCP是传输控制协议:是面连接的,那么运行环境必然要求其可靠性不可丢包有良好的拥塞控制机制如httpftptelnet等2.什么是三次握手与四次挥手?三次握手第一次握手:建立连接时,客户端发送同步

2018-01-16 09:58:54

面试题系列(四)-数据解析

1.JSONKit、SBJson、TouchJSON和原生的区别?JSONKit、SBJson、TouchJSON性能从左到右,越右越差,主要就是性能上的差别2.分析json、xml的区别可读性方面:基本相同,xml的可读性比较好可扩展性方面:都具有很好的扩展性编码难度方面:相对而言:JSON的编码比较容易解码难度:json的解码难度基本为零,xml需要考虑子节点和

2018-01-16 09:43:16

面试题系列(三)-socket

1.socket编程简述它是基于TCP/IP协议,Socket就是一个可以连通网络上不同计算机程序之间的管道,把一堆数据从管道的A端扔进去,则会从管道的B端(也许同时还可以从C、D、E、F……端冒出来)。管道的端口由两个因素来唯一确认,即机器的IP地址和程序所使用的端口号。Socket可以支持数据的发送和接收,它会定义一种称为套接字的变量,发送数据时首先创建套接字,然后使用该套接字的sendto等方

2018-01-16 09:35:30

面试题系列(二)-http请求

1.http请求方式?HTTP的请求方式有3种,分别是:POST、GET、HEAD。POST和GET方法是用于数据发送的。POST将要发送的数据单独放在一个流中进行发送,而不是附加在URL地址后面,这样做的好处是这些数据不会出现在URL地址中。GET将要发送的数据直接添加在URL后面,如:www.sina.com.cn?username=”“&password=”“,这样的

2018-01-16 09:28:11

单例

创建单例的两种方式只要使用其中一种+(id)defaultManager{//1.第一种方式//静态变量只会初始化一次staticManager*sharedInstance=nil;//每次调用defaultManager的时候都返回同一个对象if(sharedInstance==nil){

2018-01-11 11:56:22

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!