国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

雙指針

2019-11-09 15:55:56
字體:
供稿:網(wǎng)友

iOS中我們遇到雙指針,通常情況下我們是為erorr賦值例如:- (nullable NSDictionary*)attributesOfItemAtPath:(NSString )path error:(NSError *)error

那么”**”是干什么的呢?我們可以用一句話來描述:

只要看到一個方法的參數(shù)類型是**,此方法就是要給參數(shù)賦值

1.我們先來看一個普通的例子 這里寫圖片描述

輸出為: 這里寫圖片描述

輸出不是456。由此可見這樣賦值是給參數(shù)賦不上值的,因為當(dāng)我們把一個參數(shù)傳到一個方法里面的時候,系統(tǒng)內(nèi)部會做一個事情,系統(tǒng)會拷貝一個指針指向theStr指向的字符串對象。而“str = @”456””代表str這個指針指向了@”456”這個對象。而不是theStr這個指針指向了@”456”。在方法里的指針都是這樣做的。

2.在C語言里我們?yōu)閰?shù)賦值,會傳一個地址作為參數(shù),&符號為取址運算符,&num為num的地址。系統(tǒng)也會拷貝一個指針,但是拷貝的指針指向的是num的地址。下例中*okNum是一個int類型的指針,它指向的是&num(num的地址)。通過修改指針指向的地址達(dá)到修改參數(shù)的目的。

這里寫圖片描述

輸出為: 這里寫圖片描述

3.在OC中我們的對象的指針已經(jīng)帶了一個*號,所以就會出現(xiàn)雙指針的情況。*str指向的是*theStr指向的內(nèi)存地址。*str指向了@”456”說明指針 *theStr指向的地址改成了@”456”.及theStr的值變成了@”456”。 這里寫圖片描述

輸出為: 這里寫圖片描述


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 徐水县| 安顺市| 长治县| 平度市| 扎鲁特旗| 广南县| 保康县| 交口县| 丰台区| 渭源县| 环江| 年辖:市辖区| 个旧市| 乌鲁木齐县| 海丰县| 普格县| 通江县| 十堰市| 九江市| 泉州市| 临安市| 共和县| 长宁县| 长春市| 武威市| 铜鼓县| 耿马| 高唐县| 镇远县| 库车县| 景宁| 东港市| 潍坊市| 澄迈县| 枝江市| 叶城县| 新乐市| 卢氏县| 团风县| 陵川县| 鄢陵县|