随笔

作者: lizaiyu521 | 来源:发表于2015-09-09 01:03 被阅读0次

    1.什么时候用copy

    {

    copy:分为浅复制和深复制,深复制应用计数器不变,对象被复制一份,

    }

    2.UIViewController,UIView的父类

    3.CALayer和UIView区别

    {

    UIView和CALayer的那些事

    1.继承结构,uiview继承uiresponder 可以监听点击事件。

    CALayer继承nsobject 所以不能点击时间

    2.所属的框架不同,calayer是coresi 2d。而uiview 属于uikit框架。uikit主要是构建用户界面,响应事件的。

    而corez2d 属于一个低级的,绘制内容的对象

    UIView来自CALayer,高于CALayer,是CALayer高层实现与封装。UIView的所有特性来源于CALayer支持

    }

    4.消息响应机制

    5.block

    6.self.属性,和_属性

    7.layoutSubView什么时候调用

    8.UIView有个属性window

    9.创建一个登录界面想要界面一显示就有键盘

    10.控制器创建的方法的不同

    11.drawInRect的调用,iconView继承自UIImageView,UIImageView重写drawInRect画一条线,在iconView中给Image赋值,则会显示什么样子

    12.soket和HTTp的区别

    13.soket, http, tcp,udp分类,原因

    14.网络七层协议

    {

    由上往下:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

    tcp协议对应的是应"传输层"

    http协议对应的是"应用层"

    ip协议对应的是"网络层"

    socket则是对TCP/IP 的封装和应用(程序员层面上) 底层纯c

    TCP/IP协议是传输层协议,主要解决如何在网络中传输。

    http是应用层协议,主要解决如何包装数据。

    重点:1.理解网络 2.理解七层协议/五层模型 3.理解Socket.

    {

    应用层: 规定"应用程序"的数据格式. http / ftp /email 等.  //纸条上写的是啥?

    传输层: 建立"端口"到"端口"之间的通信. UDP/TCP 协议."端口". //我们帮你传纸条

    网络层: 确定每一台计算机的位置,建立"主机"到"主机"之间的通信.IPv4协议,"IP地址".  // 女孩的位置

    数据链路层: 确定1和0的分组方式.以太网协议:一组电信号就是一个数据包."MAC地址"/网卡/广播. // 深情告白

    物理层: 将电脑连接入网络,传输电信号1和0.      // 一张白纸

    互联网分层结构的好处:

    上层的变动完全不影响下层的结构.

    Socket : "主机 + 端口"就是"Socket(套接字)"  ----- TCP/IP协议

    }

    3次握手:

    1.客户端发送syn包到服务器,客户端进入syn_send状态,等待服务器确认

    什么是syn包:

    解释:SYN是tcp、ip建立连接的时候使用的握手信号。

    2.服务器收到syn包 确认客户的syn,同时自己也发送一个syn + ack包,此时服务器进入syn_recv状态。

    3.客户端收到syn+ack包,向服务器发送确认包ack 此包发送完毕,客户端和服务器进入establish状态,完成三次握手

    握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传输数据

    4次挥手:因为tcp连接是全双工的,因此每个方向上都必须单独进行关闭,这个原则是当一方完成

    tcp连接的拆除需要发送4个包,因此称为四次挥手,客户端和服务端均可发起挥手操作,在socket编程中,

    任何一方执行close()操作即可产生挥手操作。

    1.tcp客户端发送一个fin,用来关闭客户端到服务端的数据传送。

    2.服务器收到这个fin,回一个ack,确认序号为收到的序号+1;

    3.服务器关闭客户端的连接,发送一个pin可客户端

    4.客户端,

    UDP和TCP的区别:

    1.tcp是基于链接的协议,也就是说,在正式收发数据前,必须和对方建立可靠地连接。也就是通过三次握手·。

    UDP是面向非连接的协议,它不与对方建立连接,而直接把数据发送出去。

    2.传输的重要性,可靠,不可靠。

    3.速度快  慢。

    4.udp的程序结构比较简单

    5.tcp消耗的系统资源要多

    http与socket区别

    1.http:超文本传输协议,首先它是一个协议,并且是基于tcp/ip基础上的应用层协议。tcp/ip协议是传输层协议,主要解决数据如何网络数据在网络中的传输,http是应用层协议,主要解决如何包装数据,规定了浏览器与服务器之间通讯的规则。是万维网交换数据的基础,http是基于请求-响应形式并且是短连接,并且是无状态的协议。

    2.socket:socket不属于协议范畴,而是调用了一个借口,socket是对tcp/ip协议的封装,通过条用socket,才能使用才能使用TCP/IP协议,Socket连接是长连接,理论上客户端和服务器端一旦建立连接将不会主动断开此连接。Socket连接属于请求-响应形式,服务端可主动将消息推送给客户端。;

    }

    15.coredata是什么!它和SQL的区别是什么?你分别会在那个场景使用它们?

    {

    coreData 是ios5之后才出来的一个框架,它提供了对象,关系映射的功能,即能将oc对象转成数据,保存在SQLite数据库文件中,也能将保存在数据库中的文件还原成oc对象。在此数据操作期间,我们不需要编写任何的SQL语句,

    利用coredata我们可以轻松地把数据库中的记录转换为oc对象,也可以将oc对象转换为数据库中的记录。

    }

    16.SQLite 数据库概念

    {

    1.是一个轻量级的数据库,非常的小

    2.占用资源少,处理速度快。

    3.

    1.一个表,存放一组相同类型的数据

    2.一行,一条记录,对应着一个完整地数据模型

    3.字段(列),记录该条记录的一个属性值

    4.主键

    {

    1.唯一标示一条记录的

    2.通常是个整数

    3.通常是自动增长的

    4.程序员不需要管理主键的数值生成

    5.主键是由数据库生成大的

    }

    增删改查

    创建

    CREATE TABLE IF NOT EXISTS "TABLE名" ("id" INTEGER NOT NULL PRIMARY AUTOINCREMENT ,"name" TEXT)

    删除表:

    DROP TABLE IF EXISTS  TABLE名

    1.增加:INSERT INTO TABLE名  (name,age,height) VALUES ('LIZAIYU',23,1.8);

    2.修改:UPDATE TABLE名 SET name = 'wangwu',age = 12  WHERE id = 1;

    3.删除:DELETE FROM TABLE名 WHERE id = 1;

    4.查询:SELECT * FROM T_STUDNET

    服务器的锁为排他锁,

    }

    17.往SQLite插入大批量数据

    {

    如果不主动开启事务,执行insert 和update指令的时候,回味每一条数据开启事务,

    主动开启事务,在这期间就不用自动开启事务。

    1.开始事务    2.提交事务

    事务:是为了插入数据过程中失败,造成数据混乱的情况。

    做了一个快照,相当于一个备份,开始插入。插入成功 快照就没了,失败就恢复过来。

    }

    18.关于地图定位

    {

    1.mapkit框架用来展示地图

    2.corelocation 用来地理定位

    lbs :locationbasedservice

    solomo :所罗门(social local mobile)

    cllocationmanager 对象做用户的定位。

    ios8开始,定位分为两种情况,总是使用用户位置:NSLOCationalwaysusagedescription

    当使用时才定位:NSLocationWhenInUseDescription

    使用clgeocoder 可以完成“地理编码”和“反地理编码”

    地理编码方法:根据地名,获取具体的位置信息(比如说,经纬度,地址的全称);

    反地理编码:根据经纬度,获取具体的位置信息。

    mapKit框架的使用

    1.MKMapView专门用于地图的显示。

    2.设置用户追踪模式属性,可以跟踪用户的当前位置。

    3.可以设值地图类型,mapViewType设置地图类型。

    }

    19.什么是block?

    {

    Block是一种数据类型。

    是一个能工作的代码单元,在任何需要的时候执行

    本质上是一个轻量级的匿名函数,既可以作为参数  还可以作为返回值。

    匿名函数。只有函数体,不具备函数名称。

    }

    20,@property 的使用

    {

    //以前的

    @property 只是给你get方法和set方法做一个声明。

    @synthesize 只是用来实现get和set方法

    Xcode4.5以后@property会直接生成set方法和get方法

    }

    21.selector,method和message的区别

    {

    selector是方法名,message包括selector和方法的参数,method包括selector和方法的具体实现。

    }

    相关文章

      网友评论

          本文标题:随笔

          本文链接:https://www.haomeiwen.com/subject/baqlcttx.html