iOS如何从sqlite3数据库中检索URL并将其发送到webview?

时间:2014-09-01 10:14:06

标签: ios objective-c database sqlite

如果有人想看,这是我的项目,我的基础是教程,只是学习:http://www12.zippyshare.com/v/93404532/file.html 真的很遗憾文件夹命名,一切都很乱。

我目前的目标是从保存在varchar中的sqlite数据库中检索URL并将此URL发送到我的viewController - (void)viewDidLoad,就像那样

 [self.webView loadRequest:[NSURLRequest requestWithURL:url]];

我的db管理和查询代码在dbManager.m文件中,它看起来像这样:

//blablabla code code code
while (sqlite3_step(sqlStatement)==SQLITE_ROW)
    {
        HelloWorld *MyString = [[HelloWorld alloc]init];
        MyString.textId = sqlite3_column_int(sqlStatement, 0);
        MyString.helloWorld = [NSString stringWithUTF8String:(char *)sqlite3_column_text(sqlStatement,1)];

        [textArray addObject:MyString];
    }

Soooo ...我该如何做,然后将URL发送到viecontroller中的webview? 感谢

2 个答案:

答案 0 :(得分:0)

你可以这样做

//Add property in HelloWorld.h

    @property (nonatomic, assign) NSURL *url;

    while (sqlite3_step(sqlStatement)==SQLITE_ROW)
            {
                HelloWorld *MyString = [[HelloWorld alloc]init];
                MyString.textId = sqlite3_column_int(sqlStatement, 0);
                MyString.helloWorld = [NSString stringWithUTF8String:(char *) sqlite3_column_text(sqlStatement,2)];
                NSString *aStr = [NSString stringWithUTF8String:(char *) sqlite3_column_text(sqlStatement,2)];
                MyString.url = [NSURL URLWithString:aStr];

                [textArray addObject:MyString];
            }


- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.webView loadRequest:self.url];
}

答案 1 :(得分:0)

我认为你需要的是这个

[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"url value"]]];

并且url值可以通过很多方法传递。

我将使用的是将DB管理器类定义为singleton并使用自定义方法返回查询响应,并将返回类型设置为string

所以你得到的查询输出为

NSString *url = [[DBManager sharedinstance] valueForQuery];
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];

,DBManager中的方法将显示为

-(NSString*)valueForQuery
{
      //blah blah blah
     return [NSString stringWithUTF8String:(char *)sqlite3_column_text(sqlStatement,1)];
}