Time of Update: 2015-05-28
標籤: OC與C++、Java等物件導向語言有很多的類似之處,不過在很多方面也是有所差別的。若是用過某一種物件導向語言,那麼就很容易理解OC語言所用的範式和模板了。但是在文法使用上,也許會顯得陌生。因為OC語言使用了“Messaging Structure(訊息結構)”而非“Function Calling(函數調用)”。訊息與函數調用的基本格式如下(以Student類為例):
Time of Update: 2015-06-20
標籤:main.m 1 #import <Foundation/Foundation.h> 2 #import "TestClass.h" 3 4 int main(int argc, const char * argv[]) { 5 @autoreleasepool { 6 NSString *purposeInfo = @"拿到的資訊不僅在Debug中有用,而且在selector的傳遞也很有用"; 7 [TestClass
Time of Update: 2015-06-20
標籤:不變常量名說明M_PI圓周率(=π)M_PI_2圓周率的1/2(=π/2)M_PI_4圓周率的1/4(=π/4)M_1_PI=1/πM_2_PI=2/πM_E=eM_LOG2Elog_2(e)M_LOG10Elog_10(e)算術函數函數名說明int rand()隨機數產生。(例)srand(time(nil)); //隨機數初期化int val = rand()%50; //0~49之間的隨機數int abs(int a)整數的絕對值(例)int val = abs(-8)
Time of Update: 2015-06-20
標籤:objective nsmutablearray nsarray oc objetive-c 講解:NSArray 類有兩個限制。首先,它只能儲存 Objective-C 的對象,而不能儲存原始的 C 語言基礎資料類型,如 int 、float、 enum、struct 和 NSArray 中的隨機指標。同時,你也不能在
Time of Update: 2015-06-19
標籤:Objective-C 2.0 的運行時環境叫做Morden Runtime,iOS 和Mac OS X 64-bit 的程式都運行在這個環境,也就是說Mac OS X 32-bit 的程式運行在舊的Objective-C 1.0 的運行時環境LegacyRuntime,這裡我們只講解Morden Runtime。 同運行時互動主要在三個不同的地方,分別是A.Objective-C
Time of Update: 2015-06-18
標籤:objective super objective-c init在 init 方法中,下面這行代碼看起來有些奇怪。if (self = [super init])下面我們來解釋這行代碼的意思。為了讓超類(在這裡是NSObject)將所有需要的初始化工作一次性完成,你需要調用 [super init]。init 方法傳回值(id類型資料,即泛型對象指標)就是被初始化的對象。 將
Time of Update: 2015-06-17
標籤:http://www.cocoachina.com/ios/20150617/12148.htmlOverview自 WWDC 2015 推出和開源 Swift 2.0 後,大家對 Swift 的熱情又一次高漲起來,在羨慕創業公司的朋友們大談 Swift 新特性的同時,也有很多像我一樣工作上依然需要堅守著 Objective-C 語言的開發人員們。今年的 WWDC 中介紹了幾個 Objective-C 語言的新特性,還是在“與 Swift 協同工作”這種
Time of Update: 2015-06-16
標籤:原文連結 : The official raywenderlich.com Objective-C style guide原文作者 : raywenderlich.com Team譯文出自 : raywenderlich.com Objective-C編碼規範譯者 : Sam Lau由於我正在準備模仿餓了麼這個app,到時可能有些iOS開發人員參與進來。這時如果每個人的Objective-C編碼風格都不一樣,這樣不易於保持代碼一致性和難以Code
Time of Update: 2015-06-16
標籤:1.前言相信接觸過OC的對NSLog都很熟悉,細心查看NSLog的原始定義,會發現,他的原型如下:FOUNDATION_EXPORT void NSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);路徑在:OS X
Time of Update: 2015-06-15
標籤:官方文檔 objetive-c objective oc 這幾天把Programming with Objective-C再看了一邊,發現有很多以前不明確的地方。現在把一些重要的點記下來,鞏固學習效果。1.Objective-C Classes Are also Objects(OC類也是對象)In Objective-C, a class is
Time of Update: 2015-06-15
標籤:相同點:都可以作為方法的傳回型別不同點:instancetype可以返回和方法所在類相同類型的對象,id只能返回未知類型的對象instancetype只能作為傳回值,不能像id那樣作為方法的參數 好處:能夠確定對象的類型,能夠協助編譯器更好的為我們定位代碼書寫問題[[[NSArray alloc] init] mediaPlaybackAllowsAirPlay];傳回型別為instancetype:由於[[NSArray
Time of Update: 2015-06-13
標籤:atomic:保證 setter/getter 這兩個方法的一個原語操作。如果有多個線程同時調用 setter 的話,不會出現某一個線程執行 setter 全部語句之前,另一個線程開始執行 setter 情況,相當於方法頭尾加了鎖一樣。 nonatomic:(一般情況推薦用)不保證 setter/getter 這兩個方法的一個原語操作,所以你可能會取到不完整的東西。 比如 setter 方法裡面改變兩個成員變數,如果你用 nonatomic
Time of Update: 2015-06-13
標籤:main.m 1 #import <Foundation/Foundation.h> 2 #import "Person.h" 3 /** 4 NSSortDescriptor 可以實現按照對象的屬性進行排序;支援多個屬性排序。比如我們有個Person對象,它有名字(name)和年齡(age)兩個屬性,我們需要按Person的age屬性(降序)和name屬性(升序)來輸出Person對象數組資訊 5 */ 6 void testSortDescriptor() { 7
Time of Update: 2015-06-12
標籤:objective 關聯 objective-c 中的關聯介紹轉載請註明CSDN部落格上的出處: http://blog.csdn.net/daiyibo123/article/details/46471993如何設定關聯我們可以使用下面的方法來關聯屬性:objc_setAssociatedObject(id object, const void *key, id value,
Time of Update: 2015-06-09
標籤:在類的標頭檔中盡量少引入其他標頭檔使用“向前聲明”,在確有需要時才引入標頭檔,減少類的使用者所需引入標頭檔的數量,減少編譯時間。向前聲明同樣解決了兩個類相互引用的問題。使用#import而非#include指令雖然不會導致死迴圈,但兩個類裡面有一個無法被正確編譯。每次在標頭檔中引用其他標頭檔之前,都要先問問自己這樣做是否有必要,如果可以用向前聲明取代引用,那麼就用向前聲明代替引入。《Effective Objective-C》讀書筆記(2)
Time of Update: 2015-06-09
標籤:
Time of Update: 2015-06-06
標籤:objective 宏定義 奇技淫巧 指過於奇巧而無益的技藝與製品. 轉載請註明出處 http://blog.csdn.net/uxyheaven/article/details/46391771我們可以用宏定義基本的運算子和類型#define 加 +#define 減 -#define 乘 *#define 除 /#define 大於 >#define 小於 <#define 對比 ==#define
Time of Update: 2015-06-06
標籤:objective-c 程式設計第六版最近時間比較充裕,想學習IOS開發,經過多方考察還是決定從oc學起,從基礎的oc文法慢慢的走向cocoa架構的學習。oc的入門語言我我選擇最新版的objective-c程式設計,主要是參考豆瓣的書評。藉助51cto的部落格,來記錄下學習曆程。本文出自 “ios學習記錄” 部落格,謝絕轉載!OC學習之書籍->Objective-C 程式設計第六版
Time of Update: 2015-05-11
標籤:一、概念:1、委託(delegate,也叫代理):當一個對象接受到某個事件或者通知的時候,會向它的Delegate物件查詢它是否能夠響應這個事件或者通知,如果可以,這個對象就會給它的Delegate對象發送一個訊息(執行一個方法調用)。在這種機制下,您可以不進行子類化和方法重載,而是將自己的定製代碼放到委派物件中,從而避免對複雜物件進行修改。當您感興趣的事件發生時,複雜物件會將訊息發送給您定製的委派物件。您可以通過這種“掛鈎”執行自己的定製代碼,實現需要的行為。2、
Time of Update: 2015-05-10
標籤: ------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! ------- 編譯器特性@property和@synthesize1、@property@property可以自動產生某個成員變數的setter和getter聲明。建立一個項目,添加Person類。Person.h//// Person.h// zijia////