这段代码允许我从我的mysql lite数据库中提取图像名称,没有任何问题。
- (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"];
Google网站加载成功。但由于某种原因,我无法从我的数据库中获取url来加载。
munsterData:
@property (nonatomic, retain) NSMutableArray * munsterData;
Twitter的:
const char * twitterStr = sqlite3_column_text(statement, 7);
NSString * twitter = [NSString stringWithUTF8String:twitterStr];
p.twitter = twitter;
答案 0 :(得分:0)
把这个放在[super viewDidLoad]之后;并提供反馈。
NSLog(@"%@", self.munsterData.twitter);
if ([self.munsterData.twitter isKindOfClass:[NSString class]]) {
NSLog(@"is string");
}
答案 1 :(得分: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];
}
调试代码并检查“self.munsterData.twitter”是否正在获取url。编程的好方法是检查字符串是否有值,而不是在字符串上执行另一个操作。
检查您的字符串是否包含“self.munsterData.twitter”中的“http://”或“https://”。如果不可用,请使用带有NSString Class格式方法的字符串添加。
为了更好的编程,请使用以下方法转换为真实网址的方法:
- NSString *url_String = [self.munsterData.twitter strgingByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];