Time of Update: 2015-12-08
標籤:今天學習了UI部分的內容,有點多,好好整理下。首先是UIWindow。直接執行個體化UIView:UIView *view = [[UIView alloc] init];然後對其進行大小設定:view.frame =
Time of Update: 2015-12-06
標籤:1.是否可以把比較耗時的操作放在通知中樞中? 通知在哪一個線程發的,那麼對通知事件的處理就在同一個線程中進行;如果在非同步線程發的通知,那麼可以執行比較耗時的操作;如果在主線程發的通知,那麼就不可以執行比較耗時的操作。 2.Foundation對象和CoreFoundation對象有什麼區別?Foundation對象時OC的;CoreFoundation對象是C的;Foundation對象和CoreFoundation對象是可以互相轉換的,資料類型之間的轉換&middo
Time of Update: 2015-11-19
標籤:本章的主要內容將聚集在Runtime對成員變數與屬性的處理。在討論之前,我們先介紹一個重要的概念:類型編碼。類型編碼(Type
Time of Update: 2015-11-18
標籤:一、簡單介紹UITabBarController和UINavigationController類似,UITabBarController也可以輕鬆地管理多個控制器,輕鬆完成控制器之間的切換,典型的例子就是QQ、等應?。 二、UITabBarController的使用1.使用步驟:(1)初始化UITabBarController(2)設定UIWindow的rootViewController為UITabBarController(3)建立相應的子控制器(viewcontroller
Time of Update: 2016-07-22
標籤:類別Category1,概述為現有類添加新的方法,這些新方法的Objective-C的術語為“類別”。2,用法a,聲明類別@interface NSString(NumberConvenience)-(Number *)lengthAsNumber;@end//NumberConvenience這裡類別的名稱就叫NumberConvenience,新的類方法為lengthAsNumber.b,實作類別別@implementation
Time of Update: 2016-07-14
標籤:[精通Objective-C]塊(block)參考書籍:《精通Objective-C》【美】 Keith Lee目錄精通Objective-C塊block目錄塊的文法塊的詞彙範圍塊的記憶體管理塊的使用使用塊為數組排序使用塊的並行編程方式塊的文法塊是一個實現的閉包,一個允許訪問其常規範圍之外變數的函數。此外,一個Objective-C塊實際上就是一個對象,它是NSObject類的子類,擁有NSObject類的相關屬性。塊的聲明: int
Time of Update: 2016-06-08
標籤: idid是指向Objective-C對象的指標,等價於C語言中的void*,可以映射任何對象指標指向他,或者映射它指向其他的對象。常見的id類型就是類的delegate屬性。SELSEL類型是Objective-C用來定義方法的關鍵字,但卻從不屬於任何類執行個體,其值是通過@selector進行計算,可以把她當做一個函數指標來使用,但實際上的類型是const
Time of Update: 2016-05-31
標籤:轉載、引用請註明來源!Objective-C的類一、文法簡介1、類1)、.h檔案:類的聲明檔案,用於聲明執行個體變數和方法。類的聲明使用關鍵字@interface和@end。【.h中的方法只是聲明,不實現,也就是只說明了方法名、傳回型別、接收的參數及類型,並不會編寫方法的內部代碼】!2)、.m檔案:類的實現檔案,用於實現.h中聲明的方法。類的實現檔案使用關鍵字@implementation和@end。 2、執行個體變數執行個體變數的聲明和C語言定義變數的方法是一樣的,使用&ldq
Time of Update: 2016-04-27
標籤: category與associative作為objective-c的擴充機制的兩個特性,category即類型,可以通過它來擴充方 法;associative,可以通過它來擴充屬性;在iOS開發中,可能category比較常見,相對的associative,就用的比較少,要用 它必須使用<objc/runtime.h>的標頭檔,然後就可以自由使用objc_getAssociatedObject以及
Time of Update: 2016-04-27
標籤: http://www.tuicool.com/articles/ERvUbmR1. 如果方法的傳回值是新建立的,那麼方法名的首個詞應是傳回值類型,除非前面還有修飾語如 localizedString;- (CGSize)sizeThatFits:(CGSize)size; 2.應該把表示參數類型的名詞放在參數前面。+localizedStringwithFormat:
Time of Update: 2016-04-12
標籤:一、autoresizing 的使用(瞭解)只能參照父控制項 1、實現橫豎螢幕切換,不能把控制項的frame血絲,需要進行螢幕適配2、需要參照父控制項 use auto
Time of Update: 2016-04-10
標籤: 鏈式編程思想 鏈式編程是什麼鏈式編程就是將調用多個方法用點文法串連起來,讓代碼更加簡潔和可讀性更高剛開始接觸鏈式編程是Masonry,用起來真的非常爽1make.left.right.top.equalTo(self.view);這樣一句語句就調用了4個方法.left調用了left屬性的get方法.right,
Time of Update: 2016-03-28
標籤:前言:最近在學習資料結構,這裡用Objective-C簡單實現了一下棧。用Objective-C確實好容易,因為我使用了Cocoa架構提供了NSMutableArray作為儲存元素的集合,操作集合元素很方便。只不過,下面這種實現方法可能不是最佳化的,因為NSMutableArray不是最輕量級的集合容器。我現在還不知道如何寫出最佳化的棧實現,同時還需要滿足這一個需求:儲存的元素是OC對象
Time of Update: 2016-03-28
標籤:第一種:(最簡單的NSDate)NSDate* tmpStartData = [NSDate date];//You code here...double deltaTime = [[NSDate date] timeIntervalSinceDate:tmpStartData];NSLog(@"cost time = %f", deltaTime);第二種:(將運行代碼放入下面的Block中,返回時間)#import <mach/mach_time.h> // for
Time of Update: 2016-03-22
標籤: OS X,iOS中的大部分作為開源軟體公開在 Apple Open Source 上。雖然想讓大家參考NSObject類的原始碼,但是很遺憾,包含NSObject類的Foundation架構沒有公開。不過Foundation架構使用的是Core
Time of Update: 2016-03-20
標籤:如何掌握一門進階程式設計語言:(這裡特指Objective-C) 底層思維: 向下,如何從機器底層的角度來思考程式啟動並執行過程。 關注語言構造、編譯轉換、記憶體模型、運行時機制 抽象思維: 向上,當軟體複雜度高的時候,需要把式樣來抽象為代碼程式。 關注物件導向、組件封裝、設計模式、架構模式 "時空人"三位一體分析法:
Time of Update: 2016-03-15
標籤:Objective-C中,ARC下的 strong和weak指標原理解釋提示:本文中所說的"執行個體變數"即是"成員變數","局部變數"即是"本地變數"一、簡介ARC是自iOS 5之後增加的新特性,完全消除了手動管理記憶體的煩瑣,編譯器會自動在適當的地方插入適當的retain、release、autorelease語句。你不再需要擔心記憶體管理,因為編譯器為你處理了一切注意:ARC 是編譯器特性,而不是 iOS
Time of Update: 2016-02-19
標籤: //建立一個不可變的字典對象 //便利構造器建立 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"zhonger", @"name2", @"taixu", @"name1", @"caicai", @"name3", nil]; //初始化方法 //先給value
Time of Update: 2016-01-28
標籤:Objective-C中的分類允許我們通過給一個類添加方法來擴充它(但是通過category不能添加新的執行個體變數),並且我們不需要訪問類中的代碼就可以做到。Objective-C中的協議是普遍存在的介面定義方式,即在一個類中通過@protocol定義介面,在另外類中實現介面,這種介面定義方式也
Time of Update: 2016-01-09
標籤:首先 OC中的對象都是用指標表示,方法的調用是基於訊息機制實現,== 比較的自然是指標指向的地址然後 說下 isEqual 和 isEqualToString 的區別IsEqual 是 NSObject 的方法 ,而 isEqualToString 是 NSString 的方法因此從繼承關係角度來說isEqualToString 是 isEqual 的衍生方法首先貼個蘋果官方重寫isEqual 的demo- (BOOL)isEqual:(id)other { if (other ==