将数据传递给 BTsidemenu

Passing data to BTsidemenu

我开发了一个应用程序,我正在使用它:BTSimpleSideMenu

在我的应用程序中,我通过此传递单元格 label's

-(void)show{
    sideMenu.delegate = self;
int count;
    count = [rssOutputData count];
    for (int i = 0; i < count; i++){
        NSString *items = [[rssOutputData objectAtIndex:i]xmltitle];    
BTSimpleMenuItem *item = [[BTSimpleMenuItem alloc]initWithTitle:[[rssOutputData objectAtIndex:i]xmltitle] image:[UIImage imageNamed:@"arrow.png"]
                                                               onCompletion:^(BOOL success, BTSimpleMenuItem *item) {
                                                                   catLbl.text = [[rssOutputData objectAtIndex:i]xmltitle];
                                                               }];
        sideMenu = [[BTSimpleSideMenu alloc]initWithItem:@[item] addToViewController:self];

    }
    [sideMenu toggleMenu];
}

在这段代码中 [[rssOutputData objectAtIndex:i]xmltitle] 实际上是我从 XML 文件中解析的数据。我总共有 5 个条目,我想在侧边菜单中显示,但不幸的是,通过这种方式,菜单只显示最后一个条目并且只有一行。

我知道这可能是因为它覆盖了第一个单元格中的条目。

请查看上面给出的link,请帮我解决这个问题。

此代码将解决您在每次迭代中创建 BtSimplemenuitem 和 BTSimplesidemmenu 的问题,因此它会产生很多侧边菜单,只需将您的代码更改为这样即可

-(void)show
{
sideMenu.delegate = self;
int count;
NSMutableArray *itemsArry = [[NSMutableArray alloc] init];
count = [rssOutputData count];
for (int i = 0; i < count; i++){
    NSString *items = [[rssOutputData objectAtIndex:i]xmltitle];
    BTSimpleMenuItem *item = [[BTSimpleMenuItem alloc]initWithTitle:[[rssOutputData objectAtIndex:i]xmltitle] image:[UIImage imageNamed:@"arrow.png"]
                                                       onCompletion:^(BOOL success, BTSimpleMenuItem *item) {
                                                           catLbl.text = [[rssOutputData objectAtIndex:i]xmltitle];
                                                       }];

    [itemsArry addObject:item];
}
NSArray *itemSarry=[[NSArray alloc] initWithArray:itemsArry];
sideMenu = [[BTSimpleSideMenu alloc]initWithItem:itemSarry addToViewController:self];
[sideMenu toggleMenu];
}