Получение запроса об ошибке для элемента indexPath в чем-то, не являющемся структурой или объединением, при компиляции - PullRequest
0 голосов
/ 04 февраля 2011

У меня есть приложение, созданное на примере таблицы, и мне удалось получить каталог файлов документов, перечисленных в таблице, а также получить способ просмотра его содержимого в подробном представлении, теперь проблема возникает, когда я редактировал один файл иЯ хочу сохранить это.Я получаю ошибку: запрос на член 'indexPath' во что-то, не являющееся структурой или объединением, когда я хочу получить доступ к indexPath.row табличного представления, которое находится на RootViewController.Это заголовок для DetaiViewController:

#import <UIKit/UIKit.h>
#import "RootViewController.h"
@class RootViewController;

@interface DetailViewController : UIViewController 
{
    IBOutlet UITextView *labelName;
    NSString *strName;
}
@property (nonatomic, retain) NSString *strName;
@property (nonatomic, retain) UITextView *labelName;

- (IBAction)saveText:(id)sender;
- (IBAction)hideKeyb:(id)sender;
@end

А вот IBOutlet, в котором у меня возникли проблемы:

- (IBAction)saveText:(id)sender 
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *data = labelName.text;
    //RootViewController *rootViewController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
    RootViewController *rootViewController = [RootViewController alloc]
    NSString *filename = [NSString stringWithFormat:@"%d.txt",rootViewController.indexPath.row+1];
    NSString *wheresave = [documentsDirectory stringByAppendingPathComponent:filename];
    NSData *aData = [data dataUsingEncoding:NSUTF8StringEncoding];
    [aData writeToFile:wheresave atomically:YES];
}

Ошибка в NSString *filename = [NSString stringWithFormat:@"%d.txt",rootViewController.indexPath.row+1];

Я думаю, что у меня есть все импортные в порядке, но я не уверен :) Заранее спасибо!

1 Ответ

0 голосов
/ 04 февраля 2011

Я не уверен, почему вы выделяете RootViewController, поскольку он должен быть уже выделен для того, что вы говорите.

Если вы хотите получить доступ к строке (скажем, это выбранная, вы можетеизвлеките любой конкретный, если хотите) в RootViewController (при условии, что он расширяется от UITableViewController), он должен выглядеть примерно так:

NSIndexPath * indexPath = [rootViewController.tableView indexPathForSelectedRow];

NSString * filename = [NSString stringWithFormat: @ "% d.txt", indexPath.row + 1];

...