原创 setter方法的內存管理
set方法的內存管理 當時用alloc或者new 創建一個對象,就必調用release 或autorelease 1.你想使用(佔用)某個對象,就應該讓對象的計數器+1(讓對象做一次retain操作) 2.你不想再使用(佔用)某個對象,
原创 引用計數器的基本操作
1.方法的基本使用 1> retain :計數器+1,會返回對象本身 2> release :計數器-1,沒有返回值 3> retainCount :獲取當前的計數器 4> dealloc * 當一個對象要被回收的時候,就會
原创 類的本質
1.當程序啓動時,就會加載項目中所有的類和分類,而且加載後會調用每個類和分類的+load方法。只會調用一次。 2.當第一次使用某個類時,就會調用當前類的+initialize方法 3.先加載父類,再加載子類(先調用父類的+load方法
原创 指針
用指針交換兩個參數的值: #include <stdio.h> void swap(int *v1, int *v2); int main() { /* int a = 10; int b = 11;
原创 autoreleaseyi應用
1.autorelease的基本用法 1> 會將對象放到一個自動釋放池中 2> 當自動釋放池被銷燬時,會對池子裏面的所有對象做一次release操作 3> 會返回對象本身 4> 調用完autorelease方法後,對象的計數器不
原创 數組
幾種寫法: int ages[5] = {10 , 11, 12, 67, 56}; int ages[5] = {10, 11}; int ages[5] = {[3] = 10, [4] = 11}; int
原创 遞歸
遞歸的2個條件: 1.函數自己調用自己 2.必須有個明確的返回值 練習:設計一個函數,用來計算b的n次方 #include <stdio.h
原创 點語法
person.h #import @interface Person : NSObject { int _age; NSString *_name; } - (void)setAge:(int)age; - (in
原创 SEL
SEL其實是對方法的一種包裝,將方法包裝成一個SEL類型的數據,去找對應的方法地址。找到方法地址就可以調用方法,其實消息就是SEL 1.把test2包裝成SEL類型的數據 2.根據SEL數據找到對應的方法地址 3.根據方法地址調用
原创 OC的三大特性之繼承
繼承的好處: 1> 抽取重複代碼 2> 建立了類之間的關係 3> 子類可以擁有父類中的所有成員變量和方法 注意點: 1> 基本上所有類的根類是NSObject #import <Foundation/Foundation.
原创 description方法
person.h #import <Foundation/Foundation.h> @interface Person : NSObject @property int age; @property NSString *name;
原创 構造方法
person.h #import <Foundation/Foundation.h> @interface Person : NSObject @property int age; @property id obj; @end per
原创 for循環嵌套
提示用戶輸入一個正整數n,如果n=5,就輸出下列圖形,其他n值以此類推 ***** **** *** *** #include <stdio.h> int main() { // 1.定義一個變量存儲用戶輸入的值 i
原创 成員變量的作用域
@public : 在任何地方都能直接訪問對象的成員變量 @private : 只能在當前類的對象方法中直接訪問(@implementation中默認是@private) @protected : 可以在當前類及其子類的對象方法中直接
原创 OC的三大特性之多態
多態 1.沒有繼承就沒有多態 2.代碼的體現:父類類型的指針指向子類對象 3.好處:如果函數\方法參數中使用的是父類類型,可以傳入父類、子類對象 4.侷限性: 1> 父類類型的變量 不能 直接調用子類特有的方法。必須強轉爲子類類型