我对iOS很陌生,但如果我能解决这个错误,我即将完成我的应用程序。我在C和C ++方面经验丰富,但是对于我来说,Objective-c一直让我感到困惑。
标题文件:
@interface ThirdTableViewController : UITableViewController<MFMailComposeViewControllerDelegate>
-(id) init;
@property (strong, nonatomic) NSMutableArray *csvFileNames;
@property (strong, nonatomic) NSMutableArray *csvFilePaths;
- (IBAction)refreshTableButton:(id)sender;
- (IBAction)sendEmailButton:(id)sender;
void refreshTable();
@end
实施档案:
void refreshTable(){
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *documentArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:nil];
NSArray *csvFiles = [documentArray filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(NSString *evaluatedObject, NSDictionary *bindings) {
return [evaluatedObject hasSuffix:@".csv"];
}]];
_csvFileNames = csvFiles;
for (NSString *fileName in csvFiles) {
[_csvFilePaths addObject:[documentsDirectory stringByAppendingPathComponent:fileName]];
}
//NSLog(@"files array %@", _fileNamesArray);
//NSLog(@"files array %@", _filePathsArray);
}
我在.m文件中使用我的两个NSMutableArrays在.h文件中使用的错误。这些是具体的界限:
_csvFileNames = csvFiles;
[_csvFilePaths addObject:[documentsDirectory stringByAppendingPathComponent:fileName]];
这些是特定的错误:使用未声明的标识符&#39; _csvFileNames&#39;,使用未声明的标识符&#39; _csvFilePaths&#39;
在C ++中,如果我们要实现类函数,我们会执行类似class :: myfunction(parameters ...)的操作。我认为我的问题就在这些方面。
答案 0 :(得分:-1)
在您的refreshTable方法中,您将csvFiles声明为NSArray并尝试将其分配给_csvFileNames,即NSMutableArray。
您无法将变量NSArray分配给NSMutableArray变量。