OC如何实现函数参数对象的地址传

简介: OC如何实现函数参数对象的地址传

你发现采用C/C++的&传递地址函数参数编译器报错。那么做到给函数传递地址,让函数改变参数对象的指针呢?

解决办法:我们不能直接修改对象的地址,但是可以通过修改对象的成员函数指针的指向来变相实现对象地址的

转变。当然你可以采用定义一个本页面对象的对象,传递参数的编号来实现修改那个成员变量。


@interface PPHotListEntity : PPJoyListEntity

@property (nonatomic, assign) NSUInteger page;

@property (nonatomic, assign) NSInteger cate_id;

@property (nonatomic, assign) BOOL is_hot;

@property (nonatomic, assign) long long receiveTime;

//@property (nonatomic, assign) long long newsMessageTime;


@property (nonatomic, strong) PPHotMessageEntity *firstMessage;

@property (nonatomic, strong) PPHotMessageEntity *secondMessage;

@property (nonatomic, strong) PPHotMessageEntity *thirdMessage;

@property (nonatomic, strong) PPHotMessageEntity *fouthMessage;


@property (nonatomic, strong) NSMutableArray *roomList;

@property (nonatomic, strong) NSMutableArray *messageList;


@property (nonatomic, assign) BOOL is_page;


@end


-(void)moveMessageViewWithDecHotMessageView:(PPHotMessageView *)decHotMessageView decHotMessageEntityIndex:(NSUInteger)decHotMessageEntityIndex srcHotMessageEntity:(PPHotMessageEntity *)srcHotMessageEntity

{

if(1 == decHotMessageEntityIndex)

{

self.hotListEntity.firstMessage = [[PPHotMessageEntity alloc] initWithHotMessageEntity:srcHotMessageEntity];

decHotMessageView.hidden = NO;

decHotMessageView.model = self.hotListEntity.firstMessage ;

}

else if(2 == decHotMessageEntityIndex)

{

self.hotListEntity.secondMessage = [[PPHotMessageEntity alloc] initWithHotMessageEntity:srcHotMessageEntity];

decHotMessageView.hidden = NO;

decHotMessageView.model = self.hotListEntity.secondMessage ;

}

else if(3 == decHotMessageEntityIndex)

{

self.hotListEntity.thirdMessage = [[PPHotMessageEntity alloc] initWithHotMessageEntity:srcHotMessageEntity];

decHotMessageView.hidden = NO;

decHotMessageView.model = self.hotListEntity.thirdMessage ;

}

else if(4 == decHotMessageEntityIndex)

{

self.hotListEntity.fouthMessage = [[PPHotMessageEntity alloc] initWithHotMessageEntity:srcHotMessageEntity];

decHotMessageView.hidden = NO;

decHotMessageView.model = self.hotListEntity.fouthMessage ;

}


}


目录
相关文章
|
Go
Go语言初始化指南:结构体成员变量的正确方式
Go语言初始化指南:结构体成员变量的正确方式
260 0
|
3月前
|
存储 编译器 Linux
【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)
本文介绍了C++中的类和对象,包括类的概念、定义格式、访问限定符、类域、对象的创建及内存大小、以及this指针。通过示例代码详细解释了类的定义、成员函数和成员变量的作用,以及如何使用访问限定符控制成员的访问权限。此外,还讨论了对象的内存分配规则和this指针的使用场景,帮助读者深入理解面向对象编程的核心概念。
237 4
|
9月前
|
设计模式 算法 数据安全/隐私保护
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用(二)
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用
156 0
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用(二)
|
9月前
|
存储 算法 编译器
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用(一)
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用
1087 0
|
9月前
|
编译器 C++
C++ 解引用与函数基础:内存地址、调用方法及声明
C++ 中的解引用允许通过指针访问变量值。使用 `*` 运算符可解引用指针并修改原始变量。注意确保指针有效且不为空,以防止程序崩溃。函数是封装代码的单元,用于执行特定任务。理解函数的声明、定义、参数和返回值是关键。函数重载允许同一名称但不同参数列表的函数存在。关注公众号 `Let us Coding` 获取更多内容。
216 1
|
9月前
|
C++
【C++】结构体、类和引用
【C++】结构体、类和引用
61 0
C#结构体和类的区别
C#结构体和类的区别
|
存储 编译器 C++
<c++> &引用概念 | 引用用法 | 引用与指针区别
<c++> &引用概念 | 引用用法 | 引用与指针区别
207 0