Objective-C可以用手+ =增量属性吗?

Ale*_*one 3 syntax objective-c ios

可能重复:
使用Objective-C点运算符混合C前/后递增/递减有效吗?

我正在调试我编写的一段代码.在其中,我使用简写来增加类的属性

 objectiveCClass.declaredProperty+= 1;
Run Code Online (Sandbox Code Playgroud)

这种增量合法吗?

tit*_*coy 8

self.declaredProperty += 1;
Run Code Online (Sandbox Code Playgroud)

是简写

[self setDeclaredProperty:self.declaredProperty + 1];
Run Code Online (Sandbox Code Playgroud)


bry*_*mac 8

有用

这段代码:

MyObj *m = [[MyObj alloc] init];
m.foo += 1;
NSLog(@"%d", m.foo);

m.foo += 2;
NSLog(@"%d", m.foo);
Run Code Online (Sandbox Code Playgroud)

产出:1 3

foo是一个合成的int属性:

@property (assign) int foo;
Run Code Online (Sandbox Code Playgroud)

我相信它会

[m setFoo:([m foo] +1)];
Run Code Online (Sandbox Code Playgroud)