日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

oc51--循环retain

發(fā)布時(shí)間:2023/12/20 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oc51--循环retain 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
// main.m // 循環(huán)retain#import <Foundation/Foundation.h> #import "Person.h" #import "Dog.h"int main(int argc, const char * argv[]) {Person *p = [Person new];Dog *d = [Dog new];// 如果A對(duì)用要擁有B對(duì)象, 而B(niǎo)對(duì)應(yīng)又要擁有A對(duì)象, 此時(shí)會(huì)形成循環(huán)retain// 如何解決這個(gè)問(wèn)題: 不要讓A retain B, B retain A// 讓其中一方不要做retain操作即可p.dog = d; // retaind.owner = p; // retain assign [p release];[d release];return 0; } // Dog.h#import <Foundation/Foundation.h> @class Person;@interface Dog : NSObject//@property(nonatomic, retain)Person *owner; @property(nonatomic, assign)Person *owner; @end // Dog.m#import "Dog.h" #import "Person.h"@implementation Dog-(void)dealloc {NSLog(@"%s", __func__); // [_owner release]; // self.owner = nil; [super dealloc]; } @end // // Person.h#import <Foundation/Foundation.h> @class Dog;@interface Person : NSObject@property(nonatomic, retain)Dog *dog; @end // Person.m#import "Person.h" #import "Dog.h"@implementation Person- (void)dealloc {NSLog(@"%s", __func__); // [_dog release];self.dog = nil;[super dealloc]; } @end

?

轉(zhuǎn)載于:https://www.cnblogs.com/yaowen/p/7428389.html

總結(jié)

以上是生活随笔為你收集整理的oc51--循环retain的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。