如何从目标c中的watchkit中的表中删除一行

时间:2016-04-12 10:47:59

标签: objective-c iphone xcode7 watchkit

我正在开发一个watchkit应用程序,我有一个表视图,它必须具有删除行的功能。我看到了一个使用内容菜单的教程。但不知道如何从表中删除行。请帮帮我。

    #import "HomeInterfaceController.h"
#import "HomeTableRowController.h"
#import "DetailHomeInterfaceController.h"

@interface HomeInterfaceController ()
@property (unsafe_unretained, nonatomic) IBOutlet WKInterfaceTable *homeTable;
@property (nonatomic,strong) NSArray *nameArr;

@end

@implementation HomeInterfaceController

- (void)awakeWithContext:(id)context {
    [super awakeWithContext:context];
    self.nameArr = [NSArray arrayWithObjects: @"Jill Valentine", @"Peter Griffin", @"Meg Griffin", @"Jack Lolwut",
                    @"Mike Roflcoptor", @"Cindy Woods", @"Jessica Windmill", @"Alexander The Great",
                    @"Sarah Peterson", @"Scott Scottland", @"Geoff Fanta", @"Amanda Pope", @"Michael Meyers",
                    @"Richard Biggus", @"Montey Python", @"Mike Wut", @"Fake Person", @"Chair",
                    nil];
    [self setupTable];

    // Configure interface objects here.
}

- (void)willActivate {
    // This method is called when watch view controller is about to be visible to user
    [super willActivate];
}

- (void)didDeactivate {
    // This method is called when watch view controller is no longer visible
    [super didDeactivate];
}

- (void)setupTable {

    [self.homeTable setNumberOfRows:[self.nameArr count] withRowType:@"HomeTableRowController"];

    for (NSInteger i = 0; i < self.nameArr.count; i++)
    {

        HomeTableRowController *row = [self.homeTable rowControllerAtIndex:i];
        NSString *thisBook = [self.nameArr objectAtIndex:i];

        [row.reminderHeadlineLabel setText:thisBook];
       // [row.imageRow setImage:[UIImage imageNamed:@"abc.jpg"]];

    }


}

- (void)table:(WKInterfaceTable *)table didSelectRowAtIndex:(NSInteger)rowIndex
{
   NSDictionary *d=[NSDictionary dictionaryWithObject:@"hi" forKey:@"nm"];
    [self presentControllerWithName:@"DetailHome" context:d];
}
- (IBAction)deleteButtonAction {
}

@end

1 个答案:

答案 0 :(得分:1)

您需要在removeRowsAtIndexes函数中调用deleteButtonAction

// first create an index set with the index of the row you want to delete
NSIndexSet *indexes = [[NSIndexSet alloc] initWithIndex:index];
// then call the function
[self.homeTable removeRowsAtIndexes:indexes];

docs

中有更多信息