confused about Objective c syntax
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Method Syntax in Objective C
我刚开始学习目标C,对这句话有点困惑。
1 | +(NSMutableArray *) array; |
这就是我理解的:
我不知道如何概念化这些部分作为一个整体意味着什么。你能给我解释一下吗?
在C语法中,这将写为:
1 | static NSMutableArray *array(); |
1 | + (ReturnType)methodName:(ArgType)argName; |
或者如果有多个参数:
1 | + (ReturnType)firstPartOfMethodName:(Arg1Type)arg1Name secondPartOfMethodName:(Arg2Type)arg2Name; |
对于许多obj-c新来者来说,这可能是一个困惑点。对于来自其他语言的大多数程序员来说,方法名在参数之间被拆分的事实可能会非常令人困惑。
按这种方式排列的原因是为了澄清这些论点。使用以下方法时:
1 2 3 4 5 6 7 8 9 10 11 | - (id)initWithBitmapDataPlanes:(unsigned char **)planes pixelsWide:(NSInteger)width pixelsHigh:(NSInteger)height bitsPerSample:(NSInteger)bps samplesPerPixel:(NSInteger)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpaceName:(NSString *)colorSpaceName bitmapFormat:(NSBitmapFormat)bitmapFormat bytesPerRow:(NSInteger)rowBytes bitsPerPixel:(NSInteger)pixelBits |
(这是来自cocoa框架的一个真正的方法,以最长的方式而闻名),知道将哪个论点放在第一、第二、第三等位置非常有用。
1,2,3陈述是正确的。但第四个是,
最后,
它看起来像