原创 NSValue與數據類型

NSValue可以包裝所有的數據類型,而前一篇博客寫到的NSNumber也是繼承自NSValue,在API中我們可以發現,實際上是用了分類進行了擴充,因爲集合中需要的是OC對象,所以我們使用的基本數據類型和結構體都可以使用NSValue

原创 protocol協議

oc中的協議很像Java中的接口,定義一組約定俗成的規範,讓其他類來實現,而protocol主要是爲了監視這個對象的活動信息,這樣看起來到像是數據庫端的觸發器了,一旦滿足某個規則,我就執行某個事件。 #import <Foundat

原创 IOS之UI添加動畫

UIView提供了類方法beginAnimations開始一個動畫,這種寫法很像Java中jdbc中提交一個事務一樣。     [UIView beginAnimations:nil context:nil]; //設置動畫開始  

原创 NSMutableString的使用

NSMutableString是oc中的可變字符串和Java中的stringbuilder一樣,如果你要經常修改一個字符串的內容,那麼最好使用NSMutableString,這樣性能更高 void mutbaleString(){

原创 ARC兼容NoARC

在xcode5.0以後,我們創建的項目默認就是ARC項目,如果要改爲NoARC,只需修改automatic reference counting 爲NO就可以了,Xcode也爲老的arc項目提供了便捷,一鍵轉爲arc項目。 我們點中項目然

原创 集合使用NSArray、NSSet、NSDictionary的使用

一、NSArray NSArray繼承自NSobject對象,爲了解決存儲不同類型的多個元素,其實更像是Java中的List,只能放OC對象,不能直接存放基本數據類型,也不能存放空值,不可變,arrayWithObjects這個方法初始化

原创 block代碼塊

block代碼塊看起來語法很怪異,簡單來說它就是一個很靈活的代碼塊,在你想調用的時候在調用。 #import <Foundation/Foundation.h> @class Button; typedef void (^Bu

原创 @autoreleasepool內存管理

雖然OC提供了@autoreleasepool這樣方便快捷管理內存的方案,但它並不像Java一樣能夠全自動化,很多時候還是需要我們自己手動釋放內存。自動釋放池是OC裏面的一種內存回收機制,一般可以將一些臨時變量添加到自動釋放池中,統一回收

原创 ARC使用和注意點

ARC(Automatic reference counting)管理,是爲了提高開發者的效率,節省編寫內存管理的代碼,讓開發者更關心自己的業務,並沒有真正的自動內存管理,而是編譯器在編譯前會檢查代碼,判斷對象是否被強指向,如果有指針強指

原创 OC與Category 分類

Category 分類,動態爲已經存在的某個類動態添加方法,爲以前的類擴展方法,但是不能添加成員變量,實現了類的相關方法的模塊化,把不同的類的方法分配到不同的分類文件中,就像在Java開發中的struts或者spring配置文件模塊化一樣

原创 NSObject常用方法

NSObject相當於Java中的基類object。  Student *stu=[[[Studentalloc]init]autorelease];         //返回對象的所有信息         Class c=[s

原创 copy語法

OC提供了強大copy語法,讓我們copy一個對象作爲副本,改變副本對象而不影響原來的對象,而copy分爲深拷貝也就是內容拷貝,用於可變類型的拷貝,拷貝之後會產生新的對象,計數器爲1,還有就是淺拷貝也就是地址拷貝,用於不可變的對象拷貝,因

原创 利用NSBundle加載資源文件

   Bundle其實就是包,在項目中我們會把用到的資源打到一個bundle包中。而用NSBundle可以加載項目中的資源文件,比如plist文件或者xib等文件,只需要指定文件名和類型即可。 加載plist文件  

原创 UI組件縮放和旋轉

旋轉(注意:值是一個180°PI爲單位) #pragma mark 改變組件角度旋轉 - (IBAction)rotationBlock:(UIButton *)sender {     [UIView beginAnimatio

原创 NSDate的使用

NSDate是OC中的時間類型,和Java中的Date一樣,而對時間進行格式化處理的NSDateFormatter就像Java中simpledateformat,對時間進行格式化輸出或者對一個字符串時間轉換成時間格式。 基本使用