iOS-设置UITextView的文本会引发EXC\u错误\u访问

iOS-设置UITextView的文本会引发EXC\u错误\u访问,ios,nsstring,uitextview,exc-bad-access,Ios,Nsstring,Uitextview,Exc Bad Access,我有一个UITextView,我在以下代码中以编程方式创建了它: NSLog(@"creating the first blurb"); blurb = [[UITextView alloc]initWithFrame:CGRectMake(0, 0, 320, 50)]; [blurb setText:total]; blurb.backgroundColor = [UIColor redColor]; 其中,blurb定义为@界面中的UITextView 以下是我遇到的问题: total是

我有一个
UITextView
,我在以下代码中以编程方式创建了它:

NSLog(@"creating the first blurb");
blurb = [[UITextView alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
[blurb setText:total];
blurb.backgroundColor = [UIColor redColor];
其中,
blurb
定义为
@界面中的
UITextView

以下是我遇到的问题:

total
是一个
NSString
,用于从指定域的
.txt
文件中获取文本。 它变异为:

 NSString *url = @"https://sites.google.com/site/paloaltoapps/tbnappsource-password-blackr3d/Updates.txt";
 NSURL *urlRequest = [NSURL URLWithString:url];
 total = [NSString stringWithContentsOfURL:urlRequest encoding:NSUTF8StringEncoding error:nil];
但是,当我运行代码时,我会在顶部代码块的
setText:
行中抛出一个
EXC\u BAD\u ACCESS
实例

我曾尝试使用
NSLog
语句打印出
total
,似乎效果不错。
有人能看出我做错了什么吗?谢谢。

为什么不尝试创建一个NSString并将文本分配给它呢。然后,您可以尝试打印NSString,看看是否有效。只是一个建议。

为什么不尝试创建一个NSString并将文本分配给它呢。然后,您可以尝试打印NSString,看看是否有效。只是一个建议。

试试这个。。。也许它失去了参考

total = [[NSString stringWithContentsOfURL:urlRequest encoding:NSUTF8StringEncoding error:nil]copy];

试试这个。。。也许它失去了参考

total = [[NSString stringWithContentsOfURL:urlRequest encoding:NSUTF8StringEncoding error:nil]copy];


将blurb从uitextfield更改为UITEXTVIEW抱歉,这只是一个打字错误。。。可能是它丢失了引用……总计=[[NSString stringWithContentsOfURL:urlRequest编码:NSUTF8StringEncoding错误:无]复制];成功了!你想把它放在一个答案里,这样我就可以接受了吗?你应该把它作为
@property
添加并使用它。否则,在您使用它之前,它将被释放。在这种情况下,不建议使用
副本
。那有不同的用途。如果您不使用ARC,保留
可能会更好。将blurb从uitextfield更改为UITEXTVIEW抱歉,这只是一个打字错误。。。可能是它丢失了引用……总计=[[NSString stringWithContentsOfURL:urlRequest编码:NSUTF8StringEncoding错误:无]复制];成功了!你想把它放在一个答案里,这样我就可以接受了吗?你应该把它作为
@property
添加并使用它。否则,在您使用它之前,它将被释放。在这种情况下,不建议使用
副本
。那有不同的用途。如果不使用ARC,
retain
可能会更好。这就是
total
的作用。我分配
total
stringWithContentsOfURL:
返回的值,然后尝试将
blurb
的值设置为该值。它打印出正确的值,但在尝试设置文本时抛出异常。这就是
total
的用途。我分配
total
stringWithContentsOfURL:
返回的值,然后尝试将
blurb
的值设置为该值。它打印出正确的值,但在尝试设置文本时抛出异常。让我看看是否正确
copy
允许您复制引用,并将
total
的值设置为复制的引用,而不是实际值?确实如此。我只是想了解为什么它解决了这个问题,以及这个额外的位对我的代码有什么作用。事实上,有时它会发生并丢失其引用,这就是为什么我们使用“复制并保留”来保留值。。。。。。。。。。但我不明白为什么对我的回答投反对票让我看看我是否正确
copy
允许您复制引用,并将
total
的值设置为复制的引用,而不是实际值?确实如此。我只是想了解为什么它解决了这个问题,以及这个额外的位对我的代码有什么作用。事实上,有时它会发生并丢失其引用,这就是为什么我们使用“复制并保留”来保留值。。。。。。。。。。但我不明白为什么对我的答案投反对票