Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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 目标-C->;删除NSDictionary中的最后一个元素_Iphone_Objective C_Xcode_Nsdictionary - Fatal编程技术网

Iphone 目标-C->;删除NSDictionary中的最后一个元素

Iphone 目标-C->;删除NSDictionary中的最后一个元素,iphone,objective-c,xcode,nsdictionary,Iphone,Objective C,Xcode,Nsdictionary,编辑: 守则: //存储问题字典 - (void)requestFinished:(ASIHTTPRequest *)request { NSData *responseData = [request responseData]; NSString *json = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; NSDictionary *qs = [json o

编辑:

守则:

//存储问题字典

- (void)requestFinished:(ASIHTTPRequest *)request
{   
    NSData *responseData = [request responseData];
    NSString *json = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    NSDictionary *qs = [json objectFromJSONString]; 
    self.questions = qs;
    NSLog(@"%@", questions);
    [json release]; 
    [self setQuestions];
    [load fadeOut:load.view withDuration:0.7 andWait:0];
    UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"Start" style:UIBarButtonItemStylePlain target:self action:@selector(start:)];          
    self.navigationItem.rightBarButtonItem = anotherButton;
}
我在NSDictionary中有以下项目:

(
   {
        max = 120;
        min = 30;
        question = "Morning Bodyweight (Kg)";
        questionId = 1;
        questionNumber = 1;
        sectionId = 1;
        type = TextInput;
    },
    {
        question = "Morning Urine Colour";
        questionId = 2;
        questionNumber = 2;
        sectionId = 1;
        type = ImagePicker;
    },
    {
        max = 120;
        min = 30;
        question = "Evening Bodyweight (Kg)";
        questionId = 3;
        questionNumber = 3;
        sectionId = 1;
        type = TextInput;
    },
    {
        question = "Evening Urine Colour";
        questionId = 4;
        questionNumber = 4;
        sectionId = 1;
        type = ImagePicker;
    },
    {
        max = 90;
        min = 40;
        question = "Morning Heart Rate (BPM)";
        questionId = 5;
        questionNumber = 5;
        sectionId = 1;
        type = TextInput;
    },
    {
        question = "Time of Month (TOM)";
        questionId = 6;
        questionNumber = 6;
        sectionId = 1;
        type = Option;
    }
)
我要删除最后一个元素:

    {
        question = "Time of Month (TOM)";
        questionId = 6;
        questionNumber = 6;
        sectionId = 1;
        type = Option;
    }

NSDictionary是否有pop()等价物?如果没有,如何删除最后一个元素?

字典中没有最后一个元素,因为字典中的元素没有顺序。

这看起来是(或可能是)一个字典数组。如果将这些字典作为
NSMutableArray
的对象,则可以使用
–removeLastObject
。否则,您就是SOL,因为即使是
NSMutableDictionary
也没有这样的方法。

您能通过使用键值以某种方式获得元素吗?NSDictionaries没有排序,因此没有删除“last”元素的事情。

我认为这是一个NSDictionaries数组。在这种情况下,很容易做到:

NSMutableArray *mArray = [NSMutableArray arrayWithArray:array]; // if not mutable
[mArray removeLastObject];

字典没有顺序,因此没有“最后一个对象”

但是,这可能会解决您的问题,尽管它可能并不总是删除您认为的“最后一个对象”是:

[dictionaryName removeObjectForKey:[[dictionaryName allKeys] lastObject]];

这看起来像是一个NSDictionary数组,对吗?这些是对象数组吗?如果是这样,则始终可以删除最后一个元素。如果它们是对象字典,并且对象具有所有这些字段。钥匙是什么?时间戳?它是数据库中的一个元组字符串。。我使用jsonkit反序列化json字符串并将其分配给nsdictionary。代码在上面。nslog输出上述nsdictionary如何将nsdictionary转换为数组删除最后一个对象,然后转换回字典?@user559142:在我看来,它已经是
nsdictionary
s的
NSArray
。源代码(不是记录的输出)在哪里?