我可以在Objective-C中重载运算符吗?

123*_*321 54 operator-overloading objective-c

是否可以覆盖Objective-C中的操作符使用?

例如

myClassInstance + myClassInstance
Run Code Online (Sandbox Code Playgroud)

调用自定义函数来添加两个.

dre*_*lax 90

运算符重载不是Objective-C的一个特性.如果可以将两个类的实例一起添加,请提供一个方法并允许使用该方法添加它们:

Thing *result = [thingOne thingByAddingThing:thingTwo];
Run Code Online (Sandbox Code Playgroud)

或者,如果您的班级是可变的:

[thingOne addThing:thingTwo];
Run Code Online (Sandbox Code Playgroud)

  • 连接字符串很痛苦. (21认同)
  • +1 dreamlax:真的很感激和赞成:) (2认同)

Vad*_*der 16

不,你不能在Objective-C中做到这一点.


Dam*_*aux 7

你现在可以在Swift中做到这一点,它是objC的继承者.而且,由于Objective-C和Swift一起工作,对你来说很有意思.

  • 在Apple的开发者网站上查看[Swift页面](https://developer.apple.com/swift/).它说:Swift是C语言和Objective-C语言的继承者. (2认同)
  • 好.你能发一个具体的例子吗?据我所知,swift代码可能包含在Objective C中. (2认同)