2014-03-02 94 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];