我很难理解Objective-J中的方法签名(但在Objective-C上应该是一样的)。
语法应为:
-(return_type)instanceMethod1:(param1_type)param1_varName :(param2_type)param2_varName;类型在括号之间指定。但是,我找到了以下代码行:
1)
var navigationArea = [[CPView alloc] initWithFrame:CGRectMake(0.0, 0.0, 150.0, CGRectGetHeight([contentView bounds]) - 150.0)];为什么参数要在圆括号之间传递?我以为你会在冒号":“后面指定参数。
2)
-(void) importDocumentWithName:(NSString *)name withSpecifiedPreferences:(Preferences *)prefs beforePage:(int)insertPage;什么是"withSpecifiedPreferences“?是描述吗?它有什么用呢?
谢谢
发布于 2010-12-19 01:15:37
1)显示了两种风格的混合,Objective-C风格的方法调用:
[[CPView alloc] initWithFrame:...];和C风格的函数调用:
CGRectMake(1, 2, 3, 4);Objective-J是JavaScript的严格超集,这意味着除了JavaScript拥有的C风格的函数调用语法之外,您还可以使用消息传递语法。
在2)中,withSpecifiedPreferences:是方法(或“选择器”)名称的一部分,请参见"Message Syntax"。
发布于 2010-12-19 01:13:36
CGRectMake()和CGRectGetHeight()是C函数,而不是Objective-C或Objective-J方法。对于C函数调用,参数在括号中用逗号分隔。然后,CGRectMake()的结果作为参数传递给CPView类的initWithFrame:方法,这是一个Objective-C方法。
prefs参数是用来做什么的...https://stackoverflow.com/questions/4479098
复制相似问题