Objectc-c方法如何传递多个参数?

Object-c的一个方法可以包含多个参数,除了第一个参数外,后面的所有参数都要写名字,这一点和其他的语言有很大的不同。

多个参数的写法

(方法的数据类型) 函数名: (参数1数据类型) 参数1的数值的名字 参数2的名字: (参数2数据类型) 参数2值的名字 …. ;

举个例子,一个方法的定义:

-(void) setKids: (NSString *)myOldestKidName secondKid: (NSString *) mySecondOldestKidName thirdKid: (NSString *) myThirdOldestKidName;

实现这个函数的时候:

-(void) setKids: (NSString *)myOldestKidName secondKid: (NSString *) mySecondOldestKidName thirdKid: (NSString *) myThirdOldestKidName{

大儿子 = myOldestKidName;

二儿子 = mySecondOldestKidName;

三儿子 = myThirdOldestKidName;

}

调用的时候:

Kids *myKids = [[Kids alloc] init];

[myKids setKids: @”张大力” secondKid: @”张二力” thirdKid: @”张小力”];

而如果你用c#写这个方法,大致的写法可能是

public void setKids( string myOldestKidName, string mySecondOldestKidName, string myThirdOldestKidName)

{



}

调用的时候大概的写法可能是:

Kids myKids = new Kids();

myKids.setKids (“张大力”, “张二力”, “张小力”);

明白了吧?其实不怎么难看懂。

基本上,如果你能了解下面这段代码的转换关系,你Objective-C的语法也就懂了八成了:

[[[MyClass alloc] init:[foo bar]] autorelease];

转换成C#或者Java的语法也就是:

MyClass.alloc().init(foo.bar()).autorelease();

 

因此《iphone应用程序开发指南》P39页的方法,-(id) initWithDate:(NSString *)aDate andContent:(NSString *)aContent{}  读成init with Date and Content~~~~

posted on   &大飞  阅读(549)  评论(0编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示