Не удалось установить строку, выбранную для приложения RSS в iphone - PullRequest
0 голосов
/ 07 ноября 2010

ОК, я делаю приложение, которое загружает RSS-каналы, исходное представление таблицы - заголовки, второе представление показывает детали этого заголовка, выбранного пользователем.

Это код:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[[self appDelegate] setCurrentlySelectedBlogItem:[[[self rssParser]rssItems]objectAtIndex:indexPath.row]];

NewsDetailViewController *newsDetail = [[NewsDetailViewController alloc] initWithNibName:@"NewsDetailViewController" bundle:nil];
//NSManagedObject *selectedObject = [[self fetchedResultsController] objectAtIndexPath:indexPath];
// ...
// Pass the selected object to the new view controller.
newsDetail.titleTextView.text = [[[self appDelegate] currentlySelectedBlogItem]title];
newsDetail.descriptionTextView.text = [[[self appDelegate] currentlySelectedBlogItem]description];
[self.navigationController pushViewController:newsDetail animated:YES];
[newsDetail release];   

}

setCurrentlySelectedBlogItem - указатель на класс blogrss, который является ссылкой в ​​AppDelegate.Когда я нажимаю на строку заголовка, и он выводит меня на следующий экран, содержимое пусто.В последних двух строках выше я пытаюсь установить UILabel в качестве деталей текущего заголовка ...

Кто-нибудь рискует предположить, почему это происходит?

Также это мой AppDelegate.h файл:

    #import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>

@class RssFunViewController;
@class NewsDetailViewController;
@class RootViewController;
@class BlogRss;
@class BlogRssParser;

@interface ExampleAppDelegate : NSObject <UIApplicationDelegate> {

    UIWindow *window;
    UINavigationController *navigationController;
    RootViewController *viewController;
    NewsDetailViewController * newsDetailController;
    BlogRss * currentlySelectedBlogItem;

@private
    NSManagedObjectContext *managedObjectContext_;
    NSManagedObjectModel *managedObjectModel_;
    NSPersistentStoreCoordinator *persistentStoreCoordinator_;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet RootViewController *viewController;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@property (nonatomic, retain) IBOutlet NewsDetailViewController * newsDetailController;

@property (readwrite,retain) BlogRss * currentlySelectedBlogItem;

@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator;

- (NSString *)applicationDocumentsDirectory;
- (void)saveContext;

@end

1 Ответ

1 голос
/ 07 ноября 2010

UILabels в контроллере вида, вероятно, все еще равны нулю и не доступны. Вместо непосредственной настройки элементов управления создайте два свойства NSString в NewsDetailViewController и установите их перед тем, как нажать его. Затем в NewsDetailViewController установите для меток значения свойств в методе viewDidLoad (после чего метки должны быть созданы и доступны).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...