Time of Update: 2016-01-03
標籤: 0.NSString的簡單使用1.類的封裝,資料保護;2.setter和getter方法;3.self,supper,id4.初始化方法;5.類方法 ========================================================= 0、NSString簡單使用 NSString 是oc字串類; @“….” 字串對象;
Time of Update: 2015-12-25
標籤:一. 多態1. 多態概念,定義什麼是多態:多態就是某一類事物的多種形態;表現形式: Animal *ani = [Dog new];多態條件:1.有繼承關係 2.有方法的重寫 2.多態代碼實現://執行個體化貓的對象Animal *animal = [Cat new]; //父類的指標指向子類對象;[animal eat]; //執行個體化狗的對象animal = [Dog new];
Time of Update: 2015-12-22
標籤:聲明式屬性的使用:聲明式屬性叫編譯期文法@property(retain,nonatomic)Some *s;@property(參數一,參數二)Some *s;參數1:retain:修飾引用(對象)資料類型 assgin:修飾基礎資料型別 (Elementary Data Type)(預設) copy:一些對象需要複製才能使用NSString readonly:唯讀,只有setter方法,沒有getter方法參數2:保證多線程的安全性 atomic:原子性 線程是安全的,但效率低(預設)
Time of Update: 2015-12-05
標籤:super在Objective-C中,如果我們需要在類的方法中調用父類的方法時,通常都會用到super,如下所示:@interface MyViewController: UIViewController@end@implementation MyViewController- (void)viewDidLoad { [super viewDidLoad]; // do something
Time of Update: 2015-11-30
標籤:複合: 編程中的複合(composition)就好像音樂中的作曲(composition)一樣:將多個組件組合在一起,配合使用,從而得到完整的作品。 在Objective-C中,複合是通過包含作為執行個體變數的對象指標實現的。 在軟體開發中,程式員可能會使用一個Pedal(腳踏板)對象和一個Tire(輪胎)對象組合出虛擬Unicycle(獨輪車)。虛擬獨輪車應該擁有一個指向Pedal對象的指標和一個指向Tire對象的指標。Code 如下:@interface
Time of Update: 2015-11-29
標籤:原文地址:http://tech.glowing.com/cn/objective-c-runtime/原顧鵬如有侵權,請聯絡本人刪除Objective-CObjective-C 擴充了 C 語言,並加入了物件導向特性和 Smalltalk 式的訊息傳遞機制。而這個擴充的核心是一個用 C 和 編譯語言 寫的 Runtime 庫。它是 Objective-C 物件導向和動態機制的基石。Objective-C
Time of Update: 2015-11-28
標籤:ios設計模式中的委託 Delegate官方文檔解釋如下:Delegation is a simple and powerful pattern in which one object in a program acts on behalf of, or in coordination with, another object. The delegating object keeps a reference to the other object—the
Time of Update: 2015-11-27
標籤:字典相當於c++ stl中的map字典NSDictionary 1 #import <UIKit/UIKit.h> 2 #import "AppDelegate.h" 3 4 int main(int argc, char * argv[]) { 5 // 從@符號建立字典 實際上就是索引值對容器 6 NSDictionary *dict = @{@"name":@"zhangsan",@"sex":@"male"}; 7
Time of Update: 2015-11-27
標籤: 對象就是一個物件。物件導向的程式設計可以看成一個物件和你想對它做的事情。這與C語言不同,C語言通常稱為過程性語言。在C語言中,通常是先考慮要做什麼,然後才關注對象,這幾乎總是與面相對象的思考過程相反。 在物件導向的用語中,(這裡我們以汽車作為對象)你的汽車是汽車的一個執行個體。car就是類的名稱,這個執行個體就是從該類建立的。因此,每製造一輛新汽車,就會建立汽車類的一個新執行個體,而且汽車的每個執行個體都稱為一個對象。對象使用對象執行的操作你的汽車駕駛加油洗車維修 每個
Time of Update: 2015-11-13
標籤:RunTime簡稱運行時。就是系統在啟動並執行時候的一些機制,其中最主要的是訊息機制。對於C語言,函數的調用在編譯的時候會決定調用哪個函數( C語言的函數調用請看這裡 )。編譯完成之後直接順序執行,無任何二義性。OC的函數調用成為訊息發送。屬於動態調用過程。在編譯的時候並不能決定真正調用哪個函數(事實證明,在編 譯階段,OC可以調用任何函數,即使這個函數並未實現,只要申明過就不會報錯。而C語言在編譯階段就會報錯)。只有在真正啟動並執行時候才會根據函數的名稱找
Time of Update: 2015-11-13
標籤:一、什麼是代理模式?代理模式是在oc中經常遇到的一種設計模式,那什麼叫做代理模式呢?舉個例子:有一個嬰兒,他本身不會自己吃飯和洗澡等等一些事情,嬰兒媽媽上班又很忙,於是嬰兒媽媽就請了一個保姆,於是嬰兒媽媽和保姆之間商定了一個協議,協議中寫明了保姆需要做什麼事情,而保姆就是這個代理人。二、 代理模式的關鍵點:A完成一件事,但是自己不能完成,於是他找個代理人B 替他完成這個事情,他們之間便有個協議
Time of Update: 2015-11-13
標籤:協議的作用類似地C++中對抽象基類的多重繼承。類似於Java中的介面(interface)的概念。 協議是多個類共用方法的列表,協議中列出的方法在本類中並沒有相應實現,而是別的類來實現這些方法。 如果一個類要遵守一個協議,該類就必須實現特定協議的所有方法(可選方法除外). 定義一個協議需要使用@protocol指令,緊跟著的是協議名稱,然後就可以聲明一些方法,在指令@end之前的所有方法的聲明都是協議的一部分。如下:[cpp] view
Time of Update: 2015-11-12
標籤: 以下僅為個人閱讀筆記,記錄翻閱之用。原文地址:https://github.com/oa414/objc-zen-book-cn 感謝!一、單例問題 參照前面單例的濫用一文。 http://www.cnblogs.com/yaann/p/4661909.html
Time of Update: 2015-11-10
標籤:在我們的iOS程式中,經常會用到多個第三方的開源庫,通常做法是去下載最新版本的開源庫,然後拖拽到工程中。 但是,第三方開源庫的數量一旦比較多,版本的管理就非常的麻煩。有沒有什麼辦法可以簡化對第三方庫的管理呢?有!在使用SDWebImage這個第三方庫的時候,我在學習如何將進度展現時,看到有人提到用CocoaPods(http://cocoapods.org/,需FQ) 來管理第三方開源庫。
Time of Update: 2015-11-03
標籤:在這裡首先提及的就是定義屬性是用的屬性列表中的copy@property(nonatomic,copy)NSString *name;在這裡我定義了一個Person類,此處不再陳述下面是代碼 Person *p = [[Person alloc] init]; NSMutableString *s = [[NSMutableString alloc]
Time of Update: 2015-10-30
標籤: 在使用Objective-C語言進行了一段時間的iOS開發之後,發現自己的語言基礎相對薄弱,於是開始彌補自己的短處。我發現在用過一種語言之後,再回過頭來看它的很多原理會發現有更加深刻的理解。下面就對一直困惑我的屬性和成員變數的用法和關係問題進行淺析,由於水平有限可能會有錯誤,請看過文章的人多多指正。1、屬性 關於屬性的用法在蘋果的官方文檔《The Objective-C Programming
Time of Update: 2015-10-27
標籤: 1 //字典:(關鍵字 值) 2 // NSArray *array = [NSArray array];//空數組 3 // NSDictionary *dictionary = [NSDictionary dictionary];//空字典 4 NSDictionary *my = [NSDictionary dictionaryWithObject:@"objective" forKey:@"key"]; 5
Time of Update: 2015-10-26
標籤:在MRC環境下,假定CTRoom對象是CTPerson的一個成員變數,那麼修改CTRoom對象時應注意,代碼如下:- (void) setRoom:(CTRoom *) room{ //需判斷新舊值是否相等,一旦相等則[_room release]等價於[room release],那麼[room retain]將拋出異常。 if(_room != room){ [_room release]; //釋放舊值 _room = [room
Time of Update: 2016-01-12
標籤: 第一話 官方代碼規範Objective-C 編碼規範,內容來自蘋果、Google的文檔翻譯,自己的編碼經驗和對其它資料的總結。概要Objective-C 是一門物件導向的動態程式設計語言,主要用於編寫 iOS 和 Mac 應用程式。關於 Objective-C 的編碼規範,蘋果已經有很好的總結:Apple Coding Guidelines for
Time of Update: 2015-11-11
CocoaPods:管理Objective-c 程式中各種第三方開源庫關聯在我們的iOS程式中,經常會用到多個第三方的開源庫,通常做法是去下載最新版本的開源庫,然後拖拽到工程中。 但是,第三方開源庫的數量一旦比較多,版本的管理就非常的麻煩。有沒有什麼辦法可以簡化對第三方庫的管理呢?有!在使用SDWebImage這個第三方庫的時候,我在學習如何將進度展現時,看到有人提到用CocoaPods(http://cocoapods.org/,需FQ)