Time of Update: 2015-04-01
標籤:objective與C 和C++ 一樣,Objective-C 也使用“標頭檔”(header file) 與“實現檔案”(implementation file)來區隔代碼。用Objective-C 語言編寫“類”(class)的標準方式為:以類名做檔案名稱,分別建立兩個檔案,標頭檔尾碼用.h,實現檔案尾碼用.m。建立好一個類之後,其代碼看上去如下所示: // EOCPerson.h#import <Foundation/Foundation.h>@interface
Time of Update: 2015-04-01
標籤:@代表“Objective-C”的標誌,證明您正在使用Objective-C語言 Objective-C語言關鍵詞,@property與@synthesize配對使用。 功能:讓編譯好器自動編寫一個與資料成員同名的方法聲明來省去讀寫方法的聲明。 如:1、在標頭檔中:C代碼 @property int count; 等效於在標頭檔中聲明2個方法:C代碼
Time of Update: 2015-03-31
標籤:1.UIPickerView 1.1. UIPickerView的常見屬性// 資料來源(用來告訴UIPickerView有多少列多少行)@property(nonatomic,assign) id<UIPickerViewDataSource> dataSource;// 代理(用來告訴UIPickerView每1列的每1行顯示什麼內容,監聽UIPickerView的選擇)@property(nonatomic,assign)
Time of Update: 2015-04-01
標籤:1. main函數 2. UIApplicationMain* 建立UIApplication對象* 建立UIApplication的delegate對象 3.1 delegate代理開始處理(監聽)系統事件 (沒有storyboard)* 程式啟動完畢的時候, 就會調用代理的application:didFinishLaunchingWithOptions:方法*
Time of Update: 2015-04-01
標籤:1.1 - (void)layoutSubviews;* 當一個控制項的frame發生改變的時候就會自動調用* 一般在這裡布局內部的子控制項(設定子控制項的frame)* 一定要調用super的layoutSubviews方法 1.2 - (void)didMoveToSuperview;* 當一個控制項被添加到父控制項中就會調用 1.3 - (void)willMoveToSuperview:(UIView *)newSuperview;*
Time of Update: 2015-03-31
標籤:int是靜態類型NSInteger是動態類型蘋果官方推薦使用NSInteger,因為在蘋果的api實現中,NSInteger是一個封裝,它會識別當前作業系統的位元,自動返回最大的類型。定義的代碼類似於下: #if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 ||
Time of Update: 2015-03-30
標籤:property是Objective-C的關鍵詞,與@synthesize配對使用,用來讓編譯好器自動產生與資料成員同名的方法聲明。@synthesize則是用來產生對應聲明方法的實現。一、@property關鍵字 1、property的文法格式:@property
Time of Update: 2015-03-29
標籤:一。基礎資料型別 (Elementary Data Type) 1.一般的電腦語言在定義變數的時候,需要提供給兩個內容:類型和名字。 比如:int myClassID; 2.在Xcode中,無論你使用的是GCC編譯器還是LLVM編譯器,如果我們沒有為整型變數的值進行初始化,在編譯的過程中,編譯器都會自動為其附上值0. 3.整數類型:三種。int、short、long。 浮點數類型:兩種:float、double。 字元類型:一種:char。 指標類型:*
Time of Update: 2015-03-29
標籤:1.相容性 OC是一種物件導向的C語言,在OC的代碼中可以有C和C++語句,它可以調用C函數,也可以通過C++對象存取方法。2.字串 OC通常不使用C語言風格的字串。大多數情況下(CoreFoundation中的字串是C語言的)是使用Foundation架構的NSString類型的字串。NSString類提供了字串的類封裝,支援Unicode、printf風格的格式化工具等等。它是在普通的雙引號字串前放置一個@符號。如:NSString *myString =
Time of Update: 2015-03-21
標籤:理解Method Swizzling是學習runtime機制的一個很好的機會。在此不多做整理,僅翻譯由Mattt Thompson發表於nshipster的Method Swizzling一文。Method Swizzling是改變一個selector的實際實現的技術。通過這一技術,我們可以在運行時通過修改類的分發表中selector對應的函數,來修改方法的實現。例如,我們想跟蹤在程式中每一個view controller展示給使用者的次數:當然,我們可以在每個view
Time of Update: 2015-03-21
標籤:前面幾篇基本介紹了runtime中的大部分功能,包括對類與對象、成員變數與屬性、方法與訊息、分類與協議的處理。runtime大部分的功能都是圍繞這幾點來實現的。本章的內容並不算重點,主要針對前文中對Objective-C Runtime Reference內容遺漏的地方做些補充。當然這並不能包含所有的內容。runtime還有許多內容,需要讀者去研究發現。super在Objective-C中,如果我們需要在類的方法中調用父類的方法時,通常都會用到super,如下所示:@interface
Time of Update: 2015-03-21
標籤: Objective-C中的分類允許我們通過給一個類添加方法來擴充它(但是通過category不能添加新的執行個體變數),並且我們不需要訪問類中的代碼就可以做到。Objective-C中的協議是普遍存在的介面定義方式,即在一個類中通過@protocol定義介面,在另外類中實現介面,這種介面定義方式也成為“delegation”模式,@protocol聲明了可以唄其他任何方法類實現的方法,協議僅僅是定義一個介面,而由其他的類去負責實現。在本章中,我們來看看r
Time of Update: 2015-03-21
標籤:在前面一篇文章中,我們介紹了Runtime中與類和對象相關的內容,從這章開始,我們將討論類實現細節相關的內容,主要包括類中成員變數,屬性,方法,協議與分類的實現。本章的主要內容將聚集在Runtime對成員變數與屬性的處理。在討論之前,我們先介紹一個重要的概念:類型編碼。類型編碼(Type
Time of Update: 2015-03-20
標籤:#import <Foundation/Foundation.h>NSInteger codeLineCount(NSString *path){ //1.擷取檔案管理者,這是一個單例 NSFileManager *manage = [NSFileManager defaultManager]; //2.判斷檔案夾or檔案 BOOL dir = NO;
Time of Update: 2015-03-20
標籤:在Java中,特別是一個標準的POJO類,我們定義了一些屬性,然後針對每個屬性產生相應的getter和setter.例如:package com.demo;/** * 手機類 * @author liuzc */public class Phone {private String color; //顏色private String os; //系統private String brand; //品牌/******* Getter & Setter
Time of Update: 2015-03-18
標籤:1.通知中樞(NSNotificationCenter)1.1.每一個應用程式都有一個通知中樞(NSNotificationCenter*)執行個體,專門負責協助不同對象之間的訊息通訊1.2.這就是觀察者模式(Observer),任何一個對象都可以向通知中樞發布通知(NSNotification*),描述自己在做什麼。其他感興趣的對象(Observer觀察者)可以申請在某個特定通知發布時(或在某個特定的對象發布通知時)收到這個通知 2.通知(NSNotification)2.1.
Time of Update: 2015-03-18
標籤:注釋雖然寫起來很痛苦,但注釋是保證代碼可讀性的關鍵。下面的規則給出了你應該什麼時候、在哪進行注釋。記住:儘管注釋很重要,但最好的代碼應該自成文檔。與其給類型及變數起一個晦澀難懂的名字,再為它寫注釋,不如直接起一個有意義的名字。當你寫注釋的時候,記得你是在給你的聽眾寫,即下一個需要閱讀你所寫代碼的貢獻者。大方一點,下一個讀代碼的人可能就是你!記住所有 C++
Time of Update: 2015-03-18
標籤:1》set方法記憶體管理的相關參數retain//release舊值,retain新值 (適用於OC對像類型)assign//直接賦值 (預設的參數,適用於非OC對象)copy//release舊值,copy新值2》是否產生setter或者getter方法readwrite//同時產生setter和getter方法readonly//只產生getter方法3》多線程管理nonatomic//效能高atomic//效能低【
Time of Update: 2015-03-17
標籤:建立一個xib檔案描述一個view的內部結構(假設叫做MJTgCell.xib) 建立一個自訂的類(自訂類需要繼承自系統內建的view, 繼承自哪個類, 取決於xib根對象的Class) 建立類的類名最好跟xib的檔案名稱保持一致(比如類名就叫做MJTgCell) 將xib中的控制項 和 自訂類的.m檔案
Time of Update: 2015-03-17
標籤:1.建立一個繼承自UITableViewCell的類 2.重寫initWithStyle:reuseIdentifier:方法添加所有需要顯示的子控制項(不需要設定子控制項的資料和frame, 子控制項要添加到contentView中)進行子控制項一次性的屬性設定(有些屬性只需要設定一次, 比如字型\固定的圖片) 3.提供2個模型資料模型: 存放文字資料\圖片資料frame模型: