Ios 将值数组插入表中

Ios 将值数组插入表中,ios,uitableview,insert,Ios,Uitableview,Insert,我在将值数组插入表时遇到了一个问题。。我必须将联系人详细信息数组插入表中。。也就是说,变量中有名字列表,变量中有姓氏列表,等等。。同样,我必须插入24列 它抛出一个异常,表示: ***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[contactlist filepath]:未识别的选择器发送到实例0xa2af5b0'***第一次抛出调用堆栈:(0x257e012 0x1e06e7e 0x26094bd 0x256dbbc 0x256d94e

我在将值数组插入表时遇到了一个问题。。我必须将联系人详细信息数组插入表中。。也就是说,变量中有名字列表,变量中有姓氏列表,等等。。同样,我必须插入24列

它抛出一个异常,表示:

***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[contactlist filepath]:未识别的选择器发送到实例0xa2af5b0'***第一次抛出调用堆栈:(0x257e012 0x1e06e7e 0x26094bd 0x256dbbc 0x256d94e 0x4b613 0x4b551 0x190c589 0x190a652 0x190b89a 0x190a60d 0x190a785 0x1857a68 0x4a0911 0x49fbb3 0x4DDCDCDCDDA 0x25208fd 0x4de35c 0x4de2d5 0x3c8250 0x2501f3f 0x250196f 0x2524734 0x2523f44 0x2523e1b 0x2ad57e3 0x2ad5668 0xd4affc 0x254d 0x2475)lib++.dylib:终止引发异常

有人能帮我解决这个问题吗

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{

    NSError *error;
    json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
    NSLog(@"json.... %@",json);


    id jsonObject = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingAllowFragments error:nil];

    NSLog(@"jsonObject=%@", jsonObject);

    NSArray *checkArray=[jsonObject valueForKey:@"ND"];



    cheDisk=[checkArray valueForKey:@"FN"];
    cheDisk1=[checkArray valueForKey:@"LN"];


    NSLog(@"FN =%@",cheDisk);
    NSLog(@"LN =%@",cheDisk1);

    fname = [NSString stringWithFormat:@"%@",[cheDisk objectAtIndex:0]];
    lname = [NSString stringWithFormat:@"%@",[cheDisk1 objectAtIndex:0]];

    [self insertData];

    [ContactTableview reloadData];

}

-(void)insertData

{
    if (sqlite3_open([[self filepath]UTF8String], &db) == SQLITE_OK)
    {

        NSString *insertStatement = [NSString stringWithFormat:@"INSERT INTO pu_Contacts (FirstName, LastName) VALUES ('%@', '%@')", fname, lname];

        char *error;
        sqlite3_exec(db, [insertStatement UTF8String], NULL, NULL, &error)!= SQLITE_OK;

        sqlite3_close(db);

    }
}

+(NSString *) filepath {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDir = [paths objectAtIndex:0];
    return [documentsDir stringByAppendingPathComponent:@"UWdatabase1.sql"];
 } 

此代码的问题是:

[self filepath]
您将该方法定义为
类方法
,因此不能使用
self
调用它

+(NSString *) filepath
解决方案1:

使用类名更改调用,如
[contactlist filepath];

解决方案2:

将方法更改为实例方法,如:

- (NSString *) filepath
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDir = [paths objectAtIndex:0];
    return [documentsDir stringByAppendingPathComponent:@"UWdatabase1.sql"];
}

类名是什么?通过类名更改
self
,以便调用类方法:
if(sqlite3\u打开([[MyClassName filepath]UTF8String],&db)=SQLITE\u确定)

那么问题出在哪里,
fname
lname
没有插入到表中?字符*错误是怎么说的?
NSLog
可以查看发生了什么。contactlist是否有一个名为
filepath
的方法?是的..为了获取文件路径..我只是没有将它粘贴到这里,所以减少代码..@ManojEllappan:Issue使用的是
filepath
方法。请粘贴代码,但它不起作用。有人能提供自己的代码来实现这一点吗logic@ManojEllappan当前位置问题是什么?您是否尝试了两种解决方案?