永发信息网

请教:自定义消息中,如何传递更多的参数

答案:2  悬赏:80  手机版
解决时间 2021-02-28 21:54
  • 提问者网友:雾里闻花香
  • 2021-02-28 16:23
请教:自定义消息中,如何传递更多的参数
最佳答案
  • 五星知识达人网友:想偏头吻你
  • 2021-02-28 16:58
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();
全部回答
  • 1楼网友:duile
  • 2021-02-28 17:52
可以用全局变量来解决。 1、自定义一个application的派生类myapplication,然后在manifest中指定myapplication为你的application name。 2、在myapplication中定义你要传递数据类型对应的变量。然后增加一个成员函数,用于获得该变量的引用。 3、当然对myapplication中对应变量的读写要做好同步。 --------------------------------------------------------------------- 更多疑问解答,请关注@安卓互助平台 新浪微博 求采纳为满意回答。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯