原创 消息

代碼的消息表達式如何轉換爲對objc_msgSend函數的調用 如何通過名字來指定一個方法 如何使用objc_msgSend函數 獲得方法的地址        避免動態綁定的唯一辦法就是取得方法的地址,並且直接像函數一樣調用它。當一個方法

原创 block傳值

場景分析 有兩個頁面:第1個頁面、第2個頁面。 第1個頁面上有一個label,和一個按鈕。 第2個頁面上有一個txetField,和一個按鈕。 點擊第1個頁面的按鈕會跳轉到第2個頁面。 在第二個頁面往txetField中可以輸入文字,點擊

原创 OC基礎

OC相對於C 在C的基礎上新增了一小部分面向對象的語法。 將C的複雜的,繁瑣的的語法進行了封裝。 OC完全兼容C語言 後綴名 OC程序的源文件後綴名是.m,m代表message,代表OC中的消息機制 C語言的後綴名是.c 程序入口、返回值

原创 git學習總結

一、git簡介 1、git是什麼? git是目前世界上最先進的分佈式版本控制系統(沒有之一)。 2、分佈式vs集中式 集中式版本控制系統:版本庫是集中存放在中央服務器的,而幹活的時候,用的都是自己的電腦,所以要從中央服務器取得最新的版本,

原创 代理傳值

場景分析 有兩個頁面:第1個頁面、第2個頁面。 第1個頁面上有一個label,和一個按鈕。 第2個頁面上有一個txetField,和一個按鈕。 點擊第1個頁面的按鈕會跳轉到第2個頁面。 在第二個頁面往txetField中可以輸入文字,點擊

原创 ios鏈式編程

        首先我們看一下使用Masonry對控件進行佈局的代碼格式。 [self.bottomView1 mas_makeConstraints:^(MASConstraintMaker *make) { make

原创 block

概述       蘋果在ios4.0版本開始支持block。對於不同編程北京的人來說,對block的理解也不盡相同。c語言擅長者,可以把block理解成函數指針。通俗講,可以把block理解成爲一個內部函數。如下: function o

原创 Masonry

什麼是Masonry         Masonry是一個對系統NSLayoutConstraint進行封裝的第三方自動佈局框架,採用鏈式編程的方式提供給開發者API。系統AutoLayout支持的操作,Masonry都支持,相比系統AP

原创 UIWindow、UIView

ios系統架構 ios是基於unix的,unix是所有開發系統的鼻祖,windows也是基於unix系統的。從穩定性來說它比其他系統穩定的多。 ios的系統架構分爲四個層次:核心操作系統層、核心服務層、媒體層、可觸摸層。 UIView簡

原创 TCP/IP——鏈路層

1、鏈路層的目的 爲IP模塊發送和接收IP數據報 爲ARP模塊發送ARP請求和接收ARP應答 爲RARP發送RARP請求和接收RARP應答 注意:TCP/IP支持多種不同的鏈路層協議,這取決於網絡使用的硬件,如以太網、令牌環網、FDDI等

原创 TCP/IP協議族——概述

1、分層 網絡協議通常分不同層次進行開發,每一層負責不同的通信功能。TCP/IP通常被認爲是一個四層協議系統,如下: 鏈路層:該層通常包括操作系統中的設備驅動程序和計算機中對應的網絡接口卡。它們一起處理與電纜(或其他傳輸介質)的物理接口細

原创 單例模式的雙重if判斷與線程安全

單例模式 單例模式是指設計一個只能構造一個對象的類。簡單來說就是在一個進程運行過程中只可以存在一個該類的對象。 單例模式的對象獲得設計方式 A* getA() { if(_a == NULL) { loc

原创 同步異步、阻塞非阻塞

首先我們要清楚同步異步和阻塞非阻塞是兩種不同的概念,針對的是不同的層面: 同步異步:關注的是消息通信的層面。 阻塞非阻塞:關注的是程序在等待調用結果時的狀態。 同步異步 同步:強調在發出一個請求或功能調用時,主動等待返回結果。在結果沒得到

原创 線程池

什麼是線程池       線程池就是提前創建一些線程,它們的集合叫做線程池。程序會將任務交給線程池,線程池會分配一個空閒的線程取執行任務,等待任務執行完成之後,該線程不會被銷燬,而是重新還給線程池。這樣減少了大量的線程創建銷燬的操作,提高

原创 進程、線程和協程

進程:進程就是應用程序的啓動實例,比如我們打開一個遊戲、運行一個軟件,就是開啓了一個進程。進程擁有代碼和打開的文件資源、數據資源、獨立的內存空間。 線程:線程從屬於進程,是程序的實際執行者。一個進程至少包含一個線程,也可以擁有更多的線程,