標籤:
曆時n久 終於把這本書完完全全的看完了 話說 從來沒看完過一本技術書 終於有了小突破
看過就忘 也是醉了 從第一章開始 總結本書內容 加油!!
========================================================
第一章:啟程
IOS-Cocoa Touch
OS X-Cocoa
第二章:對C的擴充
objective-c是C的子集。
Xcode控制台視窗:View-Debug Area-Acitvate Console || Command+Shift+C
.h: public API 結構體 符號常量 函數原型
.m: private API && implementation
Xcode,編譯器LLVM(low level virtual machine),相容C的全部3個變體。
#import 同#include 但是可保證標頭檔只包含一次。
NSLog ---- NS首碼 避免名稱衝突 -------參數 NSString* %@
%@ ---可以列印object,自動調用description方法。
設定XCode將warn當成error處理: build settings---treat warnings as errors
BOOL類型 YES NO 只可以與NO值直接比較,不可以與YES值直接比較,因為Bool為unsigned類型 判斷最低位為0為NO,非0為YES。
第三章:物件導向編程的基礎知識
物件導向 Object-oriented Programming OOP
查看Xcode檔案預設路徑:Product-Scheme-Edit Scheme
id類型 引用任何類型的對象
OC命名規則:
oc命名盡量讓名稱可以反映出它們的具體功能,長不是問題!
類 首字母大寫 駝峰規則
對象 首字母不要大寫 駝峰規則
//.h@interface Circle:NSObject//繼承NSObject{ ShapeColor fillColor;//執行個體變數 instance variable}+(void)setFillColor:(ShapeColor)fillColor; // +聲明類方法-(void)setBounds:(ShapeColor)bound; // -聲明對象方法@end//Circle //.m@interface Circle()//private@end//Circle@implementation Circle+(void)setFillColor:(ShapeColor)fillColor{ //code}//setFillColor-(void)setBounds:(ShapeColor)bound{ //code}//setBounds@end//Circle
第四章:繼承inheritance
單繼承
方法調度機制:先在subclass尋找 再尋找superclass
編譯器使用 基地址加位移
第五章:複合composition
複合是包含作為執行個體變數的對象指標實現的。
對象使用前需兩個步驟 1.分配記憶體alloc 2.初始化init
繼承 isa
複合 hasa
第六章:源檔案組織
引入標頭檔兩種方法:
1.import .h檔案
[email protected] Tire; //前向引用
第七章:深入瞭解XCode
縮排 Command+[將代碼左移 Command+]將代碼右移
XCode代碼風格 Preferences-Text editing-indentation
第八章:Foundation Kit介紹
IOS--UIKit
OS X--AppKit
一些有用的資料類型(結構體)
範圍:NSRange {unsigned int location,unsigned int length} NSMakeRange() //字串裡的字元範圍 或者 數組裡的元素範圍 NSNotFound
幾何資料類型:
1CGPoint{float x,float y} //笛卡爾平面的座標 CGPointMake()
2CGSize{float width,float height}//儲存長度和寬度 CGSizeMake()
3CGRect{CGPoint origin,CGSize size}//矩形資料類型,座標和大小複合 CGRectMake()
字串(NSString NSMutableString)
類方法class method 用於建立新的執行個體的類方法稱為Factory 方法(factory method)
stringWithFormat 就是Factory 方法
length
isEqualToString: 比較NSString 一定要用該方法,不能直接比較指標。
(NSComparisonResult)compare:(NSString *)aString
返回結果:enum{NSOrderedAscending = -1,NSOrderedSame,NSOrderedDescending};
compare:options: options包括NSCaseInsensitiveSearch NSliteralSearch NSNumericSearch 用|符號串連
hasPrefix:
hasSuffix:
rangeOfString:
NSMutableString
stringWithCapacity: appendString: appendFormat: deleteCharactersInRange:
NSArray
限制:1.只能儲存object 2.不能儲存nil 3.不可變
建立:1.arrayWithObjects:
[email protected][object1,object2,...]
切分數組:componentsSeparatedByString:
componentsJoinedByString:
NSMutableArray
addObject:
removeObjectAtIndex:
第九章:記憶體管理
第十章:對象初始化
subclass 中的init方法必須調用[super init];
oobject-c基礎教程 總結