0

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

我有 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 中的表格视图,并在收到推送通知时选择表格中的一行。

请帮我解决一下这个。我是 ios 编程新手。

谢谢。

4

2 回答 2

1

使用 UITableView 类方法:

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

这将返回您给它的 indexPath 处的单元格。

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

- (void)selectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated scrollPosition:(UITableViewScrollPosition)scrollPosition
于 2013-07-17T14:11:10.897 回答
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
}

然后在您的didReceiveRemoteNotificationinappDelegate文件中,发布这样的通知并在对象参数中传递您想要发布的数据。

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

希望这可以帮助。

于 2013-07-17T14:50:07.777 回答