如何添加单击最新按钮的标签到数组中

时间:2014-12-05 07:15:10

标签: ios nsarray nsdictionary

我使用Page view controller创建了5个视图。每个视图有4个按钮。当我单击任何按钮时,该按钮的标记将添加到数组中。现在,情况是......我打开了视图1 ..我点击了一个按钮......按钮的标签被添加到数组中。当我在同一视图中单击另一个按钮时,此按钮的标记也会添加到数组中。任务是从数组中删除以前单击的按钮标记,只有最新的标记应该保留。有帮助吗? 谢谢

3 个答案:

答案 0 :(得分:2)

我建议您使用字典而不是数组。这样,您就可以轻松替换与特定密钥相关的对象。

[dictionary setObject:object key:somekey];

答案 1 :(得分:0)

最好将标记值保存在NSMutableSet对象中,这样可以帮助您避免重复。

你直接将按钮对象添加到NSMutableSet并检查NSMutableSet中的按钮是否可用从NSMutableSet中删除按钮,否则将其添加到NSMutableSet

NSMutableSet *set;
    [set addObject:senderButton];
    if([set containsObject:senderButton]) {
     //set contains button remove that button
    } else {
        // set doesn't contains button add it
    }

答案 2 :(得分:0)

最初在null中添加NSMutableDictionary对象,以检查是否点击了按钮

//number depends on numbers of view in page view controller
for(int i=0; i<[yourPageViewController.viewControllers; i++)
    [yourMutDictionary setObject:[NSNull null] forKey:[NSString stringWithFormat:@"%d",i]];

UIButton's click event将包含以下代码行

-(IBAction)btnClickedAction:(id)sender
{
   UIButton *btnClicked = (UIButton *)sender;
   NSUInteger index = yourPageViewController.pageControl.currentPage
   [yourMutDictionary setObject:[NSString stringWithFormat:@"%d",btnClicked.tag] forKey:[NSString stringWithFormat:@"%i",index]];
}