Ios Obj-C-我们可以指向其参数正在修改的对象吗

Ios Obj-C-我们可以指向其参数正在修改的对象吗,ios,objective-c,xcode,this,dynamic-variables,Ios,Objective C,Xcode,This,Dynamic Variables,在ActionScript中,您可以执行以下操作: character.x = character.width; character.y = character.height; 或者你可以简单地这样做: character.x = this.width;//`this` automagically == `character` in Actionscript (or whichever object is being modified. `this` just points to the cu

ActionScript
中,您可以执行以下操作:

character.x = character.width;
character.y = character.height;
或者你可以简单地这样做:

character.x = this.width;//`this` automagically == `character` in Actionscript (or whichever object is being modified. `this` just points to the current object being modified, it's a built in global dynamic variable)
character.y = this.height;
其中
是一个动态变量,仅指向正在编辑其参数的对象(
x
y

完全一样

objectA.property1 = this.property2;
因为
这是一个动态的面向对象变量,指向自动修改的对象


在Objective-C中是否有类似于此的内容

这样做的好处是,我可以使用#define使用clang创建快捷方式

例如,现在我可能需要一个叮当声(而不是Obj-C)快捷方式,用于将对象在其superview中居中:

#define centerInSuperview center = CGPointMake(this.superview.frame.size.width/2.0f, this.superview.frame.size.height/2.0f)
那我可以说

object1.centerInSuperview;
可以替换为这样说:

object1.center = CGPointMake(this.superview.frame.size.width/2.0f, this.superview.frame.size.height/2.0f);

除了
这个
在Obj-c中不是一个东西,所以我需要其他东西来指向正在修改的对象,这样我就可以创建叮当作响的快捷方式

从你的描述来看,
字符
似乎有X,Y,宽度和高度,这在目标C中只不过是
CGRect
。如果是这样,那么它就是一个结构,你可以按照你在问题中所展示的方式完成简单的赋值

但是,从问题的标题来看,您似乎想知道,在Objective C中,我们是否可以在修改同一对象时访问该对象的参数。这取决于,如果您只是简单地从单线程更改对象的属性,那么您可以这样做。因此,允许操作
self.property1=self.property2
(从类内修改)或
character.property1=character.property2
(从类外修改)


但是如果您谈论多线程,那么对象在默认情况下不是线程安全的。当一个线程正在更新它时,另一个线程不应该访问它。它也可能会崩溃。

根据您的描述,字符
似乎有X、Y、宽度和高度,这在目标C中只不过是
CGRect
。如果是这样,那么它是一个结构,您可以按照问题中显示的方式完成简单的赋值

但是,从问题的标题来看,您似乎想知道,在Objective C中,我们是否可以在修改同一对象时访问该对象的参数。这取决于,如果您只是简单地从单线程更改对象的属性,那么您可以这样做。因此,允许操作
self.property1=self.property2
(从类内修改)或
character.property1=character.property2
(从类外修改)


但是如果您谈论多线程,那么对象在默认情况下不是线程安全的。当一个线程正在更新它时,另一个线程不应该访问它。它可能也会崩溃。

我想你不明白ActionScript中的
这个
是如何工作的。Objective-C中的
这个
的等价物是
self
,但是如果你读过初学者的Objective-C教程,你就会知道这一点。按照我的理解,他不希望
这个
指的是
自我
,他希望它指的是
字符
@paramagnetic牛角面包,它非常粗鲁。我从未在这个网站上遇到过像你这样自命不凡的人,我用Objective-c编写代码已经6年了,这是非常不必要的。我不是在说自己。假设我在一个视图控制器中,我有一个像UIView这样的对象,我正在修改它的中心值,我可以在代码行中引用它(UIView)而不重复它的名称,而只是说一些类似于
this
@jtband的话绝对说明了
this
在ActionScript中的工作方式,我用那种语言编写代码已经10多年了。我想你不明白ActionScript中的
这个
是如何工作的。Objective-C中的
这个
的等价物是
self
,但如果你曾经费心阅读过初学者的Objective-C教程,你就会知道这一点。我的理解方式,他不希望
这个
指的是
自我
,他希望它指的是
字符
@paramagnetic牛角面包,它非常粗鲁。我从未在这个网站上遇到过像你这样自命不凡的人,我用Objective-c编写代码已经6年了,这是非常不必要的。我不是在说自己。假设我在一个视图控制器中,我有一个像UIView这样的对象,我正在修改它的中心值,我可以在代码行中引用它(UIView)而不重复它的名称,而只是说一些类似于
this
@jtband的话绝对说明了
this
在ActionScript中的工作方式,我用这种语言编写代码已经10多年了。对不起,我更想寻找一种方法来引用正在编辑的对象,而不使用对象名称本身。所以我不想说
character.property1=character.property2
。我想说的是
character.property1=this.property2
其中
this
成为拥有被修改或设置属性的对象。这不是目标C中的工作方式。你可能想阅读苹果的文档。我知道它不是这样工作的吗?这就是为什么我在这里问这个问题,看看是否有办法做到这一点哈哈。我想知道Objective-c是否有任何
动态面向对象变量
。对不起,我更想寻找一种方法来引用正在编辑的对象,而不使用对象名称本身。所以我不想说
character.property1=character.property2
。我想说的是
character.property1=this.property2
其中
this
成为拥有被修改或设置属性的对象。这不是目标C中的工作方式。你可能想阅读苹果的文档。我知道它不是这样工作的吗?这就是为什么我在这里问这个问题,看看是否有办法做到这一点哈哈。我想知道Objective-c是否有
动态面向对象变量
object1.center = CGPointMake(this.superview.frame.size.width/2.0f, this.superview.frame.size.height/2.0f);