raf*_*ian 6 java iphone objective-c ios
我来自Java世界,所以对我而言object.foo(),但是在Objective C中,对象消息传递是调用方法的唯一方法吗?
[object foo];
Run Code Online (Sandbox Code Playgroud)
我首先想到的是使用 @property 和点符号。带有名为“foo”的 @property 的类允许您执行以下操作:
anInstance.foo = @"bar";
Run Code Online (Sandbox Code Playgroud)
在编译时字面上翻译为
[anInstance setFoo:@"bar"];
Run Code Online (Sandbox Code Playgroud)
(与“吸气剂”类似)
其他的方式就比较高级了,比如使用NSObject的performSelector:方法,或者其他的系统比如NSInitation等。再深入一点,还有运行时调用方法的方法,用c函数(所有这些语法最终都归结为调用无论如何,c 函数);但我确信那不是你想要的。