原创 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> 父類類型的變量 不能 直接調用子類特有的方法。必須強轉爲子類類型