iOS:在NSMutableArray中使用未声明的标识符

时间:2015-08-15 17:59:47

标签: ios objective-c

我对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 ...)的操作。我认为我的问题就在这些方面。

1 个答案:

答案 0 :(得分:-1)

在您的refreshTable方法中,您将csvFiles声明为NSArray并尝试将其分配给_csvFileNames,即NSMutableArray。

您无法将变量NSArray分配给NSMutableArray变量。