收到推送通知时,从视图中选择一行

时间:2013-07-17 14:07:39

标签: iphone ios ios4

我正在尝试在收到推送通知时从表格视图中选择一行。

我有myprojectAppDelegate.h

#import <UIKit/UIKit.h>
#import "iw.h"
#import "Bookmark.h"


@interface myprojectAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> {
    UIWindow               *window;
    UITabBarController     *tabBarController;
    UINavigationController *navigationController;
    NSMutableArray                  *tableData;
    NSMutableArray                  *imagesList;
    IBOutlet Bookmark               *tableCell;
}

@property (nonatomic, retain) IBOutlet UIWindow               *window;
@property (nonatomic, retain) IBOutlet UITabBarController     *tabBarController;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@property(nonatomic, retain) NSMutableArray                  *tableData;
@property(nonatomic, retain) NSMutableArray                  *imagesList;

- (BOOL)getIsLaunched;
- (void)showService;
- (void)showMessage;
- (void) loadLogoList;
+ (const NSString*)getVersion;
+ (const NSString*)getXMLversionURL;
+ (NSMutableDictionary *)logos;
+ (void)setLogos:(NSMutableDictionary *)newDictionary;
- (void)checkVersion;

@end

并在myprojectAppDelegate.m文件中实现didReceiveRemoteNotification 但是,当应用程序在启动选项之后启动时,tableview在另一个类bookmarklist.m中实现,它导航到bookmarklist.m并显示表视图。

我想访问bookmarklist.m中的tableview,并在收到推送通知时在表格中选择一行。

请帮我解决这个问题。我是ios编程的新手。

感谢。

2 个答案:

答案 0 :(得分:1)

使用UITableView类方法:

- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath

这将返回您提供的indexPath处的单元格。

如果您只想选择单元格,请使用此类方法:

- (void)selectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated scrollPosition:(UITableViewScrollPosition)scrollPosition

答案 1 :(得分:1)

您可以在bookmarklist.m类中添加观察者方法,例如

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(newMessageReceived:) name:@"NEWMESSAGE" object:nil];

并将此观察者方法添加到同一个类

-(void)newMessageReceived:(NSNotification *) notification{
       //Here you can select the row you want to be selected
}

然后在didReceiveRemoteNotification appDelegate文件中,发布此类通知,并将您要发布的数据传递给对象参数。

[[NSNotificationCenter defaultCenter] postNotificationName:@"NEWMESSAGE" object:nil]; 

希望这有帮助。