原创 iOS計算字體寬和高

給NSString寫一個分類 頭文件 #import <Foundation/Foundation.h> @interface NSString (Extension) /** *返回值是該字符串所佔的大小(width, hei

原创 exit( )函數與return的區別

return:表示函數返回,當main函數return時表示程序運行結束. exit():無論在哪個函數調用,都會導致程序結束。

原创 UIWebView 前進 後退 刷新 取消

前進 - (IBAction)forwardButtonPush { if (self.webView.canGoForward) { [self.webView goForward];

原创 下載文件思路

下載文件 直接請求獲取: 這種方式會將數據全部接收回來,然後一次性存儲到文件中,會出現內存峯值問題,也沒有進度跟進 //ViewController.h #import <UIKit/UIKit.h> @interfac

原创 iOS開發-請求網頁的兩種方式

請求網頁的兩種方式 //BNPAddExplainVC.h #import <UIKit/UIKit.h> @interface BNPAddExplainVC : UIViewController @end //BNPA

原创 往服務器發送自定義的對象

發送自定義的對象 應用: 從服務器端獲取的數據一般都會被轉爲模型,轉爲模型後,如果我們有需求,需要修改模型數據,然後將數據重新上傳給服務器.那麼,我們應該怎樣將模型發送到服務器呢? 核心:將模型轉爲字典,轉換成功後,接下來的步驟

原创 監聽網絡狀態的改變

監聽網絡狀態 //這是一個已經封裝好的監聽網絡狀態的文件,直接拖進來使用就行了 //Reachability.h #import <Foundation/Foundation.h> #import <SystemConfigur

原创 Ubuntu網絡配置

配置 /etc/network/interfaces 文件 動態獲取IP $sudo vim /etc/network/interfaces 添加如下內容: auto eth0 iface eth0 inet dhcp 重

原创 gdb調試程序2

gdb 基本命令2 命令 描述 break ( 或b ) 行號 在某一行設置斷點 break 函數名 在某個函數開頭設置斷點 break … if … 設置條件斷點 continue (或 c) 從當

原创 使Vim更適合編代碼

方式一: 在.vimrc中添加以下代碼後,重啓vim即可實現按TAB產生4個空格: set ts=4 (注:ts是tabstop的縮寫,設TAB寬4個空格) set expandtab 對於已保存的文件,可以使用下面的方法進行

原创 Ubuntu 16.04系統默認最大打開文件數爲1024個

代碼證明 1 #include <stdio.h> 2 #include <sys/types.h> 3 #include <fcntl.h> 4 #include <stdlib.h> 5 #include

原创 ASIHttpRequest框架的使用

ASIHttpRequest框架的使用 使用前的注意點: ASIHttpRequest框架是在MRC環境下工作的,使用前必須將相關的文件設置爲MRC編譯方式. 需要導入libz.tbd庫,這個庫是關於壓縮/解壓縮的類庫. 發

原创 C實現複製文件

代碼 //mycp.c 1 #include <unistd.h> 2 #include <sys/stat.h> 3 #include <sys/types.h> 4 #include <fcntl.h>

原创 解決UITexFiled,UITableView與手勢衝突

IOS 不能觸發didSelectRowAtIndexPath事件有三種可能: delegate 沒有設置。 可能tableview被其他控件覆蓋。 手勢與tableview點擊事件衝突 對添加的手勢進行設置: 1) 遵循

原创 動態獲得類的屬性來構建模型

動態獲得類的屬性來構建模型 應用場景: 有時候我們從服務器端拿來的Json數據,其中包含很多的屬性,而我們在轉模型時,模型需要的屬性並沒有那麼多,這種情況下,如果直接用KVC轉模型結果會導致程序崩潰,以下是兩種解決方法: 簡單版