2014-03-02 63 views
0

此代码允许我从我的mysql lite数据库中提取图像名称,而不会出现任何问题。无法从数据库中加载url

- (void)viewDidLoad 

{ 

    [super viewDidLoad]; 

    UIImage * image = [UIImage imageNamed: self.munsterData.image]; 

    self.imageView.image = image; 

} 

我也想从我的数据库中提取特定的URL并将其加载到使用此代码一个UIWebView:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    NSURL * myUrl = [[NSURL alloc] initWithString: self.munsterData.twitter]; 

    NSURLRequest * myNSURLRequest = [[NSURLRequest alloc]initWithURL:myUrl]; 

    [twitterView loadRequest:myNSURLRequest]; 

} 

我在做什么错?当我选择url链接时,我的应用程序立即崩溃。如果我更换:

NSURL * myUrl = [[NSURL alloc] initWithString: self.munsterData.twitter];

NSURL * myUrl = [[NSURL alloc] initWithString: @"http://www.google.com"];

在谷歌网站加载成功。但出于某种原因,我无法从我的数据库加载url。

munsterData:

@property (nonatomic, retain) NSMutableArray * munsterData; 

叽叽喳喳:

const char * twitterStr = sqlite3_column_text(statement, 7); 
NSString * twitter = [NSString stringWithUTF8String:twitterStr]; 
p.twitter = twitter; 
+0

是什么崩溃日志说? self.munsterData.twitter是一个字符串对象吗? –

+0

也许你可以告诉我们'self.munsterData.twitter'字符串值是什么。 – Rob

+0

我已经根据要求包含了字符串信息。 –

回答

0

把事情处理好后,[超级viewDidLoad中]并提供反馈。

NSLog(@"%@", self.munsterData.twitter); 
if ([self.munsterData.twitter isKindOfClass:[NSString class]]) { 
    NSLog(@"is string"); 
} 
+0

更正了nslog。 –

0

您的代码非常适合在UIWebview中加载任何网址。开始的好办法。但随着你的代码的例子在UIWebView中加载的URL,然后下面的点确认:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSURL * myUrl = [[NSURL alloc] initWithString: self.munsterData.twitter]; 
    NSURLRequest * myNSURLRequest = [[NSURLRequest alloc]initWithURL:myUrl]; 
    [twitterView loadRequest:myNSURLRequest]; 
} 
  1. 调试代码,并检查“self.munsterData.twitter”越来越URL或没有。编程的好方法是检查你的字符串是否有值或不只是比在字符串上执行另一个操作之后。

  2. 检查你的字符串在你的“self.munsterData.twitter”中是否包含“http://”或“https://”。如果不可用,请使用NSString类的格式化方法添加字符串。

  3. 为更好的编程,请使用方法转换到实际的URL与下面的方法:

    - NSString *url_String = [self.munsterData.twitter strgingByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];