国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

objective-c - ios開(kāi)發(fā)中self和下劃線的區(qū)分
黃舟
黃舟 2017-04-27 09:02:53
0
3
973

今天碰到一個(gè)問(wèn)題,就是用到懶加載的時(shí)候,我用了self,結(jié)果報(bào)錯(cuò)直接蹦了,

我們老師說(shuō)這是self遞歸引用了,可我還是不明白它們之間的區(qū)別

黃舟
黃舟

人生最曼妙的風(fēng)景,竟是內(nèi)心的淡定與從容!

全員に返信(3)
洪濤

self.x はプロパティにアクセスするためのものですが、実際には getX メソッドまたは setX メソッドにアクセスするためのものですが、ほとんどの場(chǎng)合、コンパイラーはこれら 2 つのメソッドを自動(dòng)的に実裝し、関連するインスタンス変數(shù)を自動(dòng)的に作成します。よりも。 _x は、自動(dòng)的に作成されるインスタンス変數(shù)です。
たとえば、次の屬性を定義します:

リーリー

次のような隠された (簡(jiǎn)略化された) コードがたくさんあります:

リーリー

遅延読み込みコードが屬性の get メソッドをオーバーロードしていると思います。self.x は実際には [self x] メソッドを呼び出します。get メソッドで self.x を使用すると、この self.x が [self] を呼び出します。 x] メソッドを再度実行します。これは無(wú)限再帰です。

黃舟

參照すれば違いはありません、同じポインタですが代入すると違います self.xx=oo まずxxretaincount -1して、次にretain oo _XXをコピーして直接ooを指すようにしています。保持ステップはありません。それも

曾經(jīng)蠟筆沒(méi)有小新

私はあなたが次のような人かもしれないと推測(cè)しました:

リーリー

その後、self.some を呼び出すと、[self some] を使用するのと同じになり、some 內(nèi)の self.some は再度 [self some] を呼び出します。 。 。ループが形成されます。 。 。

アンダースコアは、set と get をバイパスして直接アクセスすることを意味します。 。

最新のダウンロード
詳細(xì)>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート