Time of Update: 2016-01-06
標籤:今天學習了一下UILabel UITextField UIButton UIImage這幾個基礎控制項,UILabel沒什麼好說的,因為不涉及到交換的工作,記住幾個屬性就行了。UITextField這個東西,遇到了不少問題。我用的是XCode7.2,建立空應用(Empty
Time of Update: 2015-12-29
標籤:nil用來給對象賦值(Object-C的任何對象都屬於id類型),NULL則給任何指標賦值,NULL和nil不能互換,nil用於類指標賦值(在Object-C中類是一個對象,是類的meta-class的執行個體),而NSNull則用於集合操作,雖然它們表示的都是空值,但是使用場合完全不同,所以在編碼時嚴格按照變數類型來賦值,將正確的空值賦給正確的類型,使代碼易於閱讀和維護,也不易引起錯誤。 1.oc最好 用nil [ nil
Time of Update: 2015-12-28
標籤:1.定義和使用Block 1 #import "ViewController.h" 2 3 @interface ViewController () 4 5 @end 6 7 @implementation ViewController 8 9 - (void)viewDidLoad {10 [super viewDidLoad];11 12 //定義block 無傳回值,無參數13 void (^nameBlock)() = ^ () {14
Time of Update: 2015-12-26
標籤:管理範圍:任何繼承NSObject的對象,基礎資料型別 (Elementary Data Type)不用進行管理本質原因:因為對象和基礎資料型別 (Elementary Data Type)在系統中的儲存空間不一樣,局部變數主要存放在棧中,而Object Storage
Time of Update: 2015-12-25
標籤:1.簡介在之前的文章[New learn]講解Objective-c的block知識中介紹了block的相關知識。本章中我們將以一個實際例子來簡單介紹一下block如何代替代理。 2.原有通過代理實現方式回顧在[How to]
Time of Update: 2015-12-25
標籤:集合的遍曆1.for迴圈遍曆2.列舉程式遍曆1 NSArray *enumArray = @[@"CM", @"PL", @"Lina", @"NEC"];2 //建立一個列舉程式,依附於數組3 NSEnumerator *rator = [enumArray objectEnumerator];4 //建立一個對象5 id object = nil;6 while (object = [rator nextObject])7 {8 NSLog(@"%@", object);9 }
Time of Update: 2015-12-24
標籤:數組類:有序集合不可變OC中的數組是一個容器,可以有序管理一系列元素,元素類型可以不相同,但是必須是物件類型。初始化方法:1.initWithObjects:2.便利構造器3.字面量。1 NSArray *array = @[@"SF", @"QOP", @"ST",
Time of Update: 2015-12-24
標籤:開篇只要用到Objective-C,我們每天都會跟方法調用打交道。我們都知道Objective-C的方法決議是動態,但是在底層一個方法究竟是怎麼找到的,方法緩衝又是怎麼運作的卻鮮為人知。本文主要從源碼角度探究了Objective-C在runtime層的方法決議(Method resolving)過程和方法緩衝(Method
Time of Update: 2015-12-22
標籤:溫故而知新,繼續複習。OC中可以通過聲明屬性來省略setter和getter,達到讓代碼簡潔的目的。使用屬性時,不需要在介面和m檔案中進行執行個體變數的聲明和setter
Time of Update: 2015-12-22
標籤:類方法用來建立對象的方法就是Factory 方法1、無參Factory 方法 建立對象,並給屬性一個預設值。//無參Factory 方法實現+(Student*)student{ return [[Student alloc]init];}2、有參Factory 方法 2.1.要依賴有參的初始化方法 -(id)initWithAge:(int)age; 2.2.建立對象,並給屬性一個指定的值 //有參Factory
Time of Update: 2015-12-22
標籤: iOS的整體架構(以iOS8為例)圖如下: 從Cocoa Touch到Core
Time of Update: 2015-12-21
標籤:弱引用實在是太弱了,連通過該引用來申請空間都無法保持聯絡。舉個例子@interface classA:NSObject@porperty (nonatomic,weak) classA * tempClass1;@property (nonatomic,strong) classA * tempClass2;-(void)test;@end @implement classA-(void)test{ self.tempClass1 = [classA
Time of Update: 2015-12-14
標籤:郝萌主傾心貢獻,尊重作者的勞動成果,請勿轉載。假設文章對您有所協助,歡迎給作者捐贈,支援郝萌主,捐贈數額任意。重在心意^_^ 我要捐贈: 點擊捐贈Cocos2d-X原始碼下載:點我傳送將一個變數賦值給還有一個對象只建立還有一個對這個對象的引用。類似於Java中,賦值是一個引用。參考C++或者C的指標來理解就easy了。這裡的賦值事實上就是指標地址賦值而已。Foundation類實現了名
Time of Update: 2015-12-10
標籤:#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { FILE* fp1;//定義檔案指標用於讀檔案 char* fp2;//用來判斷是否歌詞讀完 char s[80];//暫存歌詞 long int time2=0; long int time=0;//用來計算時間,精度為秒,不夠完善,望高人指點 int a=1;//起判斷作用
Time of Update: 2015-12-08
標籤: 1,用於通知某個對象該做什麼,即通知對象去執行某動作。在Objective-c中,“[]”的意義:它們用於通知某個對象該做什麼。這種通知對象執行某中操作的行為被稱為“發送訊息”。例如:[shape
Time of Update: 2015-12-06
標籤:self,superself理解為C++裡的this,當使用self調用方法時,會從當前類中開始尋找,沒有就依次尋找上一級父類。super就是父類,可以直接調用父類的方法。+/-OOP中存在公有方法和私人方法,OC中沒有,但是用+/-來表示普通方法和靜態方法。另外可以用@private來表示私人變數,OC中所有的變數預設都是私人的,方法都是公有的。深拷貝和淺拷貝淺拷貝就是增加一個指標指向記憶體位址,深拷貝是增加一個指標並且申請一個新的記憶體。深拷貝的好處很明顯了,前一種方式可能出現A
Time of Update: 2016-01-31
標籤:## Objective-C KVC 自己主動轉換類型研究apple非常厚道,kvc的時候幫我們做了一些類型轉換,規律貼出來,給大夥參考參考@interface Entity : NSObject@property (nonatomic, copy) NSString *str;@property (nonatomic, assign) int i1;@property (nonatomic, assign) int i2;@property (nonatomic, assign)
Time of Update: 2016-01-19
標籤: 1、OC簡介 全稱:Objective-C,是擴充C的物件導向程式設計語言,主要用於iOS和Mac OS開發。C語言的基礎上,增加了一層最小的物件導向文法完全相容C語言可以在OC代碼中混入C語言代碼,甚至是C++代碼可以使用OC開發Mac OS X平台和iOS平台的應用程式2、 OC文法概述2.1關鍵字每一種語言都有關鍵字,比如C語言的 flaot、int等等,那麼oc有哪些關鍵字呢? 基本上所有關鍵字都是以@開頭
Time of Update: 2016-01-09
標籤:首先 OC中的對象都是用指標表示,方法的調用是基於訊息機制實現,== 比較的自然是指標指向的地址然後 說下 isEqual 和 isEqualToString 的區別IsEqual 是 NSObject 的方法 ,而 isEqualToString 是 NSString 的方法因此從繼承關係角度來說isEqualToString 是 isEqual 的衍生方法首先貼個蘋果官方重寫isEqual 的demo- (BOOL)isEqual:(id)other { if (other ==
Time of Update: 2016-01-08
標籤:自訂視圖現在有些混亂,屢一下大概的編寫思路:1.建立一個視圖控制器,將此視圖控制器指定為window的根視圖控制器2.自訂視圖LTView,明確LTView內部的控制項,聲明為屬性,重寫initWithFrame:布局方法,先將子視圖添加上去。完善顯示效果,需要再去定義一個初始化方法,參數為視圖的顯示內容3.自訂視圖,明確內部控制項,聲明為屬性,重寫initWithFrame:布局方法,添加子視圖4.視圖控制器內部,重寫loadView方法,指定視圖控制器的空白視圖為自訂的視圖(或者可以不