-1

鉴于……</p>

@interface Hog : NSObject { NSUInteger one, two, three;      }
@property (strong, nonatomic) NSString *four, *five, *six;
-(void) seven;
@end
@implementation Hog
static CGFloat f, ff, fff;
- (NSString*) six { return _four = _five = _six  =  @"sexy"; }
- (void) seven    {          one =   two = three =       33;
                               f =    ff =   fff =     6.66;
                         SEL sevenSelect = @selector(seven);
   NSLog(@" %ld, %0.2f, %@, %@",
   three, fff, self.six, NSStringFromSelector(sevenSelect)); }
@end
int main(int argc,char *argv[]){ Hog *u = Hog.new; [u seven];}

Output: 33, 6.66, sexy, seven 

那么..为什么不可能呢,宣布

-(void)seven, eight, nine;

在标题等?有什么不同?不objc-c只是像对待任何其他变量IMP、块等一样对待或其他东西吗?无论如何,为什么还要打扰原型呢?特别是,如果它在类扩展中,为什么还要麻烦,而您只是要直接在下面编写方法。这似乎只是另一个犯错的机会,不必要的重复,不是吗?我知道我错了,但我要求接受教育,所以继续吧。

4

1 回答 1

2

从语法上讲,方法声明与变量声明不同。它们具有不同的语法,并且只能出现在特定的上下文中。

是否可以修改 Objective-C 的语法以允许多个变量声明以逗号分隔?是的,它会——但它需要比你想象的更大的变化,因为当声明包含参数时,它们会变得更加复杂。仅仅为了让人们编写可读性较差的声明而进行重大的语法更改并没有什么意义。这样做的好处实际上是零。

于 2013-04-05T17:11:52.057 回答