隨筆

1.什么時候用copy

{

copy:分為淺復制和深復制,深復制應用計數器不變,對象被復制一份,

}

2.UIViewController,UIView的父類

3.CALayer和UIView區(qū)別

{

UIView和CALayer的那些事

1.繼承結構,uiview繼承uiresponder 可以監(jiān)聽點擊事件。

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.創(chuàng)建一個登錄界面想要界面一顯示就有鍵盤

10.控制器創(chuàng)建的方法的不同

11.drawInRect的調用,iconView繼承自UIImageView,UIImageView重寫drawInRect畫一條線,在iconView中給Image賦值,則會顯示什么樣子

12.soket和HTTp的區(qū)別

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

14.網絡七層協議

{

由上往下:應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層。

tcp協議對應的是應"傳輸層"

http協議對應的是"應用層"

ip協議對應的是"網絡層"

socket則是對TCP/IP 的封裝和應用(程序員層面上) 底層純c

TCP/IP協議是傳輸層協議,主要解決如何在網絡中傳輸。

http是應用層協議,主要解決如何包裝數據。

重點:1.理解網絡 2.理解七層協議/五層模型 3.理解Socket.

{

應用層: 規(guī)定"應用程序"的數據格式. http / ftp /email 等.? //紙條上寫的是啥?

傳輸層: 建立"端口"到"端口"之間的通信. UDP/TCP 協議."端口". //我們幫你傳紙條

網絡層: 確定每一臺計算機的位置,建立"主機"到"主機"之間的通信.IPv4協議,"IP地址".? // 女孩的位置

數據鏈路層: 確定1和0的分組方式.以太網協議:一組電信號就是一個數據包."MAC地址"/網卡/廣播. // 深情告白

物理層: 將電腦連接入網絡,傳輸電信號1和0.? ? ? // 一張白紙

互聯網分層結構的好處:

上層的變動完全不影響下層的結構.

Socket : "主機 + 端口"就是"Socket(套接字)"? ----- TCP/IP協議

}

3次握手:

1.客戶端發(fā)送syn包到服務器,客戶端進入syn_send狀態(tài),等待服務器確認

什么是syn包:

解釋:SYN是tcp、ip建立連接的時候使用的握手信號。

2.服務器收到syn包 確認客戶的syn,同時自己也發(fā)送一個syn + ack包,此時服務器進入syn_recv狀態(tài)。

3.客戶端收到syn+ack包,向服務器發(fā)送確認包ack 此包發(fā)送完畢,客戶端和服務器進入establish狀態(tài),完成三次握手

握手過程中傳送的包里不包含數據,三次握手完畢后,客戶端與服務器才正式開始傳輸數據

4次揮手:因為tcp連接是全雙工的,因此每個方向上都必須單獨進行關閉,這個原則是當一方完成

tcp連接的拆除需要發(fā)送4個包,因此稱為四次揮手,客戶端和服務端均可發(fā)起揮手操作,在socket編程中,

任何一方執(zhí)行close()操作即可產生揮手操作。

1.tcp客戶端發(fā)送一個fin,用來關閉客戶端到服務端的數據傳送。

2.服務器收到這個fin,回一個ack,確認序號為收到的序號+1;

3.服務器關閉客戶端的連接,發(fā)送一個pin可客戶端

4.客戶端,

UDP和TCP的區(qū)別:

1.tcp是基于鏈接的協議,也就是說,在正式收發(fā)數據前,必須和對方建立可靠地連接。也就是通過三次握手·。

UDP是面向非連接的協議,它不與對方建立連接,而直接把數據發(fā)送出去。

2.傳輸的重要性,可靠,不可靠。

3.速度快? 慢。

4.udp的程序結構比較簡單

5.tcp消耗的系統資源要多

http與socket區(qū)別

1.http:超文本傳輸協議,首先它是一個協議,并且是基于tcp/ip基礎上的應用層協議。tcp/ip協議是傳輸層協議,主要解決數據如何網絡數據在網絡中的傳輸,http是應用層協議,主要解決如何包裝數據,規(guī)定了瀏覽器與服務器之間通訊的規(guī)則。是萬維網交換數據的基礎,http是基于請求-響應形式并且是短連接,并且是無狀態(tài)的協議。

2.socket:socket不屬于協議范疇,而是調用了一個借口,socket是對tcp/ip協議的封裝,通過條用socket,才能使用才能使用TCP/IP協議,Socket連接是長連接,理論上客戶端和服務器端一旦建立連接將不會主動斷開此連接。Socket連接屬于請求-響應形式,服務端可主動將消息推送給客戶端。;

}

15.coredata是什么!它和SQL的區(qū)別是什么?你分別會在那個場景使用它們?

{

coreData 是ios5之后才出來的一個框架,它提供了對象,關系映射的功能,即能將oc對象轉成數據,保存在SQLite數據庫文件中,也能將保存在數據庫中的文件還原成oc對象。在此數據操作期間,我們不需要編寫任何的SQL語句,

利用coredata我們可以輕松地把數據庫中的記錄轉換為oc對象,也可以將oc對象轉換為數據庫中的記錄。

}

16.SQLite 數據庫概念

{

1.是一個輕量級的數據庫,非常的小

2.占用資源少,處理速度快。

3.

1.一個表,存放一組相同類型的數據

2.一行,一條記錄,對應著一個完整地數據模型

3.字段(列),記錄該條記錄的一個屬性值

4.主鍵

{

1.唯一標示一條記錄的

2.通常是個整數

3.通常是自動增長的

4.程序員不需要管理主鍵的數值生成

5.主鍵是由數據庫生成大的

}

增刪改查

創(chuàng)建

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插入大批量數據

{

如果不主動開啟事務,執(zhí)行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是一種數據類型。

是一個能工作的代碼單元,在任何需要的時候執(zhí)行

本質上是一個輕量級的匿名函數,既可以作為參數? 還可以作為返回值。

匿名函數。只有函數體,不具備函數名稱。

}

20,@property 的使用

{

//以前的

@property 只是給你get方法和set方法做一個聲明。

@synthesize 只是用來實現get和set方法

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

}

21.selector,method和message的區(qū)別

{

selector是方法名,message包括selector和方法的參數,method包括selector和方法的具體實現。

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容