Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何将字典传递给函数_Iphone_Objective C_Dictionary_Methods_Return Value - Fatal编程技术网

Iphone 如何将字典传递给函数

Iphone 如何将字典传递给函数,iphone,objective-c,dictionary,methods,return-value,Iphone,Objective C,Dictionary,Methods,Return Value,好吧,我想我这样做是对的。我是objective-C新手,所以我不确定语法。。。我有一组代码,需要从不同的文件中多次调用。因此,我创建了一个新类,其中包含一个方法,我将调用该方法并传递它所需的值 因为我传递的是不同的值,所以我将它们放在字典中,并决定只传递字典。这是代码: NSNumber *testNum = [NSNumber numberWithInt:varMoney]; NSMutableDictionary *dictionary = [[NSMutableDiction

好吧,我想我这样做是对的。我是objective-C新手,所以我不确定语法。。。我有一组代码,需要从不同的文件中多次调用。因此,我创建了一个新类,其中包含一个方法,我将调用该方法并传递它所需的值

因为我传递的是不同的值,所以我将它们放在字典中,并决定只传递字典。这是代码:

NSNumber *testNum = [NSNumber numberWithInt:varMoney];


    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
    [dictionary setObject:@"OMG, Object 1!!!!" forKey:@"1"];
    [dictionary setObject:@"Number two!" forKey:@"2"];
    [dictionary setObject:testNum forKey:@"3"];
此代码创建一个测试变量,然后将其放入字典中。我有一本漂亮的小字典。但是,现在我需要创建类和它的方法来接收字典,并使用它做一些事情

这是我的类头文件:

#import <UIKit/UIKit.h>


@interface EndOfTurnObjC : UIView {

}

@end
我还没有创建任何真正的代码,因为我不知道如何进行传递。我需要创建一个函数方法?在将接受字典的类中有一个参数,然后返回字典

我也不知道如何调用这样的函数,因为它在类中。因此,问题是: 1:我如何在类中定义方法来接受字典作为参数,然后可能是一些示例代码来提取字典中的一个对象,这样我就可以确保它工作了

2:如何在方法末尾返回字典

3:在类中,如何从另一个类调用此方法?我知道这涉及到创建一个thing类的对象并调用该对象的方法。。。我想,但我不确定语法


请包括3个文件头、实现和我从中调用的其他类的相关代码。非常感谢您,我已经研究这个特定的问题有一段时间了。

苹果的是Objective-C语法的一个很好且非常简洁的参考。您需要的只是一个普通的方法,它将NSDictionary作为参数。如该文件所述:

带有单个参数的消息将冒号:附加到选择器名称,并将参数放在冒号后面。这个构造称为关键字;关键字以冒号结尾,冒号后面跟着一个参数,如本例所示:

因此,传递字典的方法调用如下所示:

[someObject setAttributes:dictionary];
Apple是Objective-C语法的一个很好且相当简洁的参考。您需要的只是一个普通的方法,它将NSDictionary作为参数。如该文件所述:

带有单个参数的消息将冒号:附加到选择器名称,并将参数放在冒号后面。这个构造称为关键字;关键字以冒号结尾,冒号后面跟着一个参数,如本例所示:

因此,传递字典的方法调用如下所示:

[someObject setAttributes:dictionary];
在标题中:

-(NSMutableDictionary *) doSomethingWithDictionary:(NSMutableDictionary *) aDict;
在实施过程中:

-(NSMutableDictionary *) doSomethingWithDictionary:(NSMutableDictionary *) aDict{
    //do something with the dictionary 
    return aDict;
}
要调用该方法,请执行以下操作:

NSMutableDictionary *returnDict=[EndOfTurnObjC doSomethingWithDictionary:dictionary];
请注意,作为一个好的设计,您不希望像令牌一样传递可变字典。那是自找麻烦。相反,传递静态字典并取回另一个字典

您也不应该将数据传递给UIView。相反,UIViewController应该处理数据,然后根据需要填充视图的UI元素

在标题中:

-(NSMutableDictionary *) doSomethingWithDictionary:(NSMutableDictionary *) aDict;
在实施过程中:

-(NSMutableDictionary *) doSomethingWithDictionary:(NSMutableDictionary *) aDict{
    //do something with the dictionary 
    return aDict;
}
要调用该方法,请执行以下操作:

NSMutableDictionary *returnDict=[EndOfTurnObjC doSomethingWithDictionary:dictionary];
请注意,作为一个好的设计,您不希望像令牌一样传递可变字典。那是自找麻烦。相反,传递静态字典并取回另一个字典


您也不应该将数据传递给UIView。相反,UIViewController应该处理数据,然后根据需要填充视图的UI元素

如果你只是想修改你的字典,你只要

-void changemydirectionary:NSMutableDictionary*字典_

{

}


无需归还字典。

如果你只是想对字典做些事情,你只要

-void changemydirectionary:NSMutableDictionary*字典_

{

}


无需归还字典。

请提供3个文件的相关代码-我不是典型的谷歌it或没有家庭作业或rtfm的人,但你向我们索取了很多,却没有提供任何努力的证据。这些事情并没有那么复杂,我们很乐意帮助你,但我敢肯定,我们中的许多人至少希望先看到你的尝试。我可以给你我的应用程序的源代码,但这不是个好主意。我在我的程序上做了很多工作,但是我找不到任何关于这个的文档。我也不想让别人为我做任何工作,但在解决这个问题两周后,我已经力不从心了。请提供3个文件的相关代码-我不是一个典型的谷歌it或没有家庭作业或rtfm的人,但你从我们这里问了很多问题,却没有提供任何努力的证据。这些事情并没有那么复杂,我们很乐意帮助你,但我敢肯定,我们中的许多人至少希望看到你的尝试成功
t、 我可以给你我的应用程序的源代码,但这不是个好主意。我在我的程序上做了很多工作,但是我找不到任何关于这个的文档。我也不想让别人为我做任何工作,但在解决这个问题两周后,我的能力已经到了极限。