[英]Objective-C -> Remove Last Element In NSDictionary
编辑:
编码:
//存储问题字典
- (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()? 如果不是,如何删除最后一个元素?
字典没有顺序,所以没有“最后一个对象”
但是,这可能会解决您的问题,尽管它可能并不总是删除您认为“最后一个对象”是什么:
[dictionaryName removeObjectForKey:[[dictionaryName allKeys] lastObject]];
字典中没有最后一个元素,因为字典中的元素没有排序。
这看起来是(或可能是)一个字典数组。 如果您将这些字典作为NSMutableArray
的对象,那么您可以使用– removeLastObject
。 否则,您就是 SOL,因为即使NSMutableDictionary
也没有这种方法。
您可以通过使用键值以某种方式获取元素吗? NSDictionaries 没有排序,因此没有删除“最后一个”元素这样的事情。
我认为这是您自己获得的一系列 NSDictionaries。 在这种情况下,很容易做到:
NSMutableArray *mArray = [NSMutableArray arrayWithArray:array]; // if not mutable
[mArray removeLastObject];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.