Objective c 什么';这里怎么了?

Objective c 什么';这里怎么了?,objective-c,ios,xcode,plist,Objective C,Ios,Xcode,Plist,我有一个应用程序,其中我在plist中有一个URL,一个web视图读取它,以了解在开始时要加载的页面。代码如下: .h { IBOutlet UIWebView *webView; } @property (retain, nonatomic) NSArray *array; -(NSString *) dataFilePath; .m @synthesize array; - (void)viewDidLoad { [super viewDidLoad]; NSMutableArray

我有一个应用程序,其中我在plist中有一个URL,一个web视图读取它,以了解在开始时要加载的页面。代码如下:

.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了解不多。

如果loadRequest方法存在一些漏洞,请尝试将其更改为

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

整个错误消息是什么?sigabrt从哪一行抛出?你的堆栈看起来像什么?当它在调试类型“bt”(不带引号)和gdb或lldb提示符下崩溃时。它在[webView loadRequest:[[NSURLRequest alloc]initWithURL:[[NSURL alloc]initWithString:string]]崩溃@MDT:不幸的是,是。实际上他的数组由alloc/init保留。我也注意到了这一点,但由于他是直接访问iVar,而不是通过属性访问器访问iVar,这将是很好的,尽管很奇怪。在您的示例中,您希望添加自动释放,因为他用retain声明了属性。@Cliff,谢谢,抱歉。我也对命名数组和数组感到困惑,但我相信这是故意的,因为看起来我们试图存储一个变量,并将其读回一个具有类似但奇怪名称的新变量。