2013-07-17 3 views
0

Я пытаюсь выбрать строку из представления таблицы при получении push-уведомления.выберите строку из вида при получении push-уведомления

У меня есть 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 

и реализации didReceiveRemoteNotification в myprojectAppDelegate.m файле Но TableView реализуется в другом классе bookmarklist.m, когда приложение запускается после запуска опций он переходит к bookmarklist.m и отображает вид таблицы.

Я хочу получить доступ к этому табличному представлению, которое находится в bookmarklist.m, и выбрать строку в таблице, когда когда-либо получаю push-уведомление.

, пожалуйста, помогите мне с этим. Я новичок в программировании на ios.

Спасибо.

ответ

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]; 

Надеюсь, это поможет.

+0

Я пытаюсь использовать ваш метод, мне нужно добавить первую строку в методе tableview? –

+0

просто добавьте эту строку в свой список закладок 'viewDidLoad'. – HRM

+0

получил эту мысль после добавления комментария: P –

1

Используйте метод класса UITableView:

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

Это будет возвращать ячейку на indexPath вы даете ему.

Если вы только хотите, чтобы выбрать ячейку, используйте этот метод класса:

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

Я новичок, если вы не возражаете, можете ли вы разработать или направить меня к ссылке или учебнику? –

+0

Вам нужно будет объединить 2 ответа. Настройте уведомление, например HRM, используйте мои методы UITableView, чтобы выбрать свою ячейку. – Jasper

+0

Дополнительную информацию о том, как выбрать свою ячейку можно найти по адресу http://stackoverflow.com/questions/4518723/how-to-highlight-a-row-in-a-uitableview – Jasper