標籤:使用 檔案 資料 ar 代碼 on sp 不同的
1.傳值的第一條也是最重要的一條就是必須找到對象,然後讓倆個對象碰面,在同一個空間裡才能去傳值了
2.用對象的屬性,或是用指標把另一個對象的self中所有能用資料都統統給拿過來,協議指標就是一個很典型的例子,還有就是用函數的方法它可以用參數和傳回值實現雙向傳值
3.倆個對象互相引用時可以用(week,assgin)來定義屬性、指標避免引用迴圈,
4.在storyboard中的每一個對象對應著一個對象,在使用者眼中的一個頁面也就對應代碼
5.還有標頭檔的引用迴圈,就是在倆個檔案中‘標頭檔’中互相使用標頭檔時會導致引用迴圈,我們看到的現象就是明明有標頭檔卻說找不到它,這時候的解決辦法就是把其中一個標頭檔去掉,用 @class ViewController; 來告知它這個類的存在,不需要去找尋標頭檔了 延後載入標頭檔能加快運行速度吧
6.倆個不同的類可以利用屬性來傳遞資訊,需要在接受資訊的一個類裡建立一個屬性來儲存資料,然後在另一個類裡面用這個對象的屬性傳遞資訊。
還可以利用定義屬性(指標)來指向另一個類別,在另一個類中可將其中的所有屬性和方法傳遞到這個類中來使用。
A類 B類
@property x ; @property A *y;
b.y=self ; 傳A的資訊 a.x=num; 給它資料可在A中使用
-(void)did -(void)done
如上可將A類中的方法及屬性在B中使用
B中的資料也可以通過屬性傳到A中對象
在B中可以用[self.y did]調用A中的方法,不需要再在B中建立a的對象來實現A中的方法,就算建立對象也不能實現方法因為它是一個全新的對象不具備在A中的一些性質或初始化,self.y就相當於A *x1=[A alloc]的新對象,它具備一切A中的屬性;
指標和對象的區別
Student *student=[[Student alloc]init];
student實為一個指標,但是它建立的對象用它來指向所以也用它來表示一個對象。