2012-03-28 23 views
-1

私はplistにURLを持っているアプリケーションを持っており、Webビューはそれを読み込んで、最初に読み込むページを知ることができます。誰もが私が間違っているのかを知っている...それは私にSIGABRTを返します。..ここに何が問題なのですか?

.h 

{ 
IBOutlet UIWebView *webView; 
} 
@property (retain, nonatomic) NSArray *array; 
-(NSString *) dataFilePath; 


.m 

@synthesize array; 
- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
NSMutableArray *Array = [[NSMutableArray alloc] init]; 
[Array addObject:@"http://www.google.com"]; 
[Array writeToFile:[self dataFilePath] atomically:YES]; 
NSString *filePath = [self dataFilePath]; 
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) 
{ 
    array = [[NSArray alloc] initWithContentsOfFile:filePath]; 
} 
NSString *string = [NSString stringWithString:[array objectAtIndex:0]]; 
[webView loadRequest:[[NSURLRequest alloc] initWithURL:[[NSURL alloc] initWithString:string]]]; 
}     

-(NSString *) dataFilePath 
{ 
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentDirectory = [path objectAtIndex:0]; 

    return [documentDirectory stringByAppendingPathComponent:@"url.plist"]; 
} 

問題は、それが動作しないということである。ここでは、コードですか?

PS:私はplistsについてあまり知りません。

+1

に変更してみてください? – lnafziger

+0

とsigabrtはどの行からスローされますか?あなたのスタックはどのように見えますか?デバッグタイプ "bt"(引用符なし)とgdbまたはlldbプロンプトでクラッシュしたときに発生します。 – Cliff

+0

[webView loadRequest:[[NSURLRequest alloc] initWithURL:[[NSURL alloc] initWithString:string]]];でクラッシュします。 –

答えて

2

あなたはloadRequest方法といくつかのリークを持って、全体のエラーメッセージが何であるかを

[webView loadRequest:[[[NSURLRequest alloc] initWithURL:[NSURL urlWithString:string]] autorelease] ]; 
+0

実際に彼の配列はalloc/initによって保持されます。私は奇妙なことにも気付きましたが、彼がiVarに直接アクセスしていて、プロパティのアクセサーを介さずにアクセスしているので、奇妙なことですが、それは問題ありません。あなたの例では、retainを使ってプロパティを宣言して以来、autoreleaseを追加したいと思うでしょう。 – Cliff

+0

@ Cliff、ありがとう、ごめんなさい。私は配列と配列 – beryllium

+0

の名前も混乱していましたが、それも私を投げ捨てましたが、私たちは1つの変数を格納し、それを似たような奇妙な名前の新しい変数に戻そうとしているように見えるので意図的だったと思います。 – Cliff

関連する問題