编译时在非结构或联合中获取成员“indexPath”的错误请求
Posted
技术标签:
【中文标题】编译时在非结构或联合中获取成员“indexPath”的错误请求【英文标题】:Getting error request for member 'indexPath' in something not a structure or union when compiling 【发布时间】:2011-02-04 20:05:31 【问题描述】:我有一个由 tableview 示例制作的应用程序,我设法获取了 table 上列出的文档目录的文件,并且还获得了在 detailview 上查看它的内容的方法,现在当我编辑一个文件时出现问题并且我想保存它。 我收到错误:当我想访问 RootViewController 上的表视图的 indexPath.row 时,请求成员“indexPath”不是结构或联合。这是 DetailViewController 的标头:
#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】:我不确定您为什么要分配 RootViewController,因为它应该已经分配给您所说的内容。
如果您想访问 RootViewController(假设它是从 UITableViewController 扩展而来)中的一行(假设这是选定的行,您可以根据需要检索任何特定的行),它应该是这样的:
NSIndexPath *indexPath = [rootViewController.tableView indexPathForSelectedRow];
NSString *filename = [NSString stringWithFormat:@"%d.txt",indexPath.row+1];
【讨论】:
好的设法编译,但它没有保存。我放了一个 NSLog,它什么也没显示: NSLog(indexPath.row);以上是关于编译时在非结构或联合中获取成员“indexPath”的错误请求的主要内容,如果未能解决你的问题,请参考以下文章
目标 C:在非结构或联合的情况下请求成员 XXX。 (核心数据)