使用@property时,布尔变量将重置

玛奇95

一等舱

-(void)method{

    BOOL bVar;

    bVar = [UIScreen isRetinaDisplay]; //Custom Category Used Here

    NSLog(@"%d",bVar); //Value is 1

}

第二课

@implementation class_two : SKNode

@property (readonly)BOOL bVar;

@end

第二类

-(void)method{

    NSLog(@"%d",_bVar); //Value is 0

}

当我运行每个方法时,第一个类设置bVar为1并打印结果,但是当在另一个类中调用第二个方法时,class_two从属性打印的值为0。

什么将bVar变量重置为0?

没有任何事情可以将“ back”设置为0。您只需要处理两个完全不同的变量。在“一类”中,您要设置一个名为的局部变量bVar(顺便说一句,退出该方法后立即丢弃该值)。在第二课中,您有一个名为的类属性bVar,该属性由实例变量来支持_bVar

因此,您的第二个示例是记录一个从未设置过的实例变量。如果您想让“第一类”示例实际更新“第二类”中的属性,则必须提供对要更新其属性的“第二类”特定实例的引用bVar

// ClassOne.m

- (void)updateBVarInObject:(ClassTwo *)obj
{
    obj.bVar = [UIScreen isRetinaDisplay]; //Custom Category Used Here

    NSLog(@"%d", obj.bVar); //Value is 1
}

我不知道与这两个类关联的对象之间的关系,但是希望这可以说明这一想法,即如果您希望某个类更新另一个类中的属性,则它必须具有对该另一个对象的引用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用ObjectOutputStream / ObjectInputStream传输自定义对象时,将重置变量

来自分类Dev

打开新页面时,会话变量将重置

来自分类Dev

使用Python WebDriver for Pytest将布尔结果存储在变量中

来自分类Dev

刷新时重置Scriplet变量

来自分类Dev

刷新时重置Scriplet变量

来自分类Dev

使用Angular-DataTables更新数据时,将重置分页

来自分类Dev

当我将布尔变量传递给函数时,if 语句不起作用?

来自分类Dev

使用带循环的布尔变量

来自分类Dev

每次调用方法时,自定义类将变量重置为原始值

来自分类Dev

每次调用方法时,自定义类将变量重置为原始值

来自分类Dev

布尔变量更改状态时引发事件

来自分类Dev

布尔变量更改状态时引发事件

来自分类Dev

变量的值在以响应形式提交时重置

来自分类Dev

Java游戏未在重置时保存变量

来自分类Dev

输入if语句时,变量是否会重置?

来自分类Dev

在每个工作簿打开时重置变量

来自分类Dev

如何使用go build -ldflags在编译时设置布尔变量

来自分类Dev

将布尔变量添加到int

来自分类Dev

将布尔变量设置为条件?

来自分类Dev

当我使用调试器C ++时,局部变量会重置

来自分类Dev

使用SOAP时“连接重置”

来自分类Dev

重置布尔列表

来自分类Dev

重置布尔值?

来自分类Dev

“可重置”布尔数组-使用向量还是常规数组?如何“重置”?

来自分类Dev

使用Jsoup解析时,将HTML布尔属性保留为其原始形式

来自分类Dev

比较中使用的Java布尔类变量

来自分类Dev

使用Swing影响鼠标事件的布尔变量

来自分类Dev

如何在Javascript的布尔变量中使用NOT

来自分类Dev

在多个组件中使用布尔变量

Related 相关文章

热门标签

归档