gpt4 book ai didi

ios - stringWithContentsOfFile 和 initWithContentsOfFile 在多次运行后返回 null

转载 作者:可可西里 更新时间:2023-11-01 04:40:37 26 4
gpt4 key购买 nike

我正在创建一个读取文本文件并在 UIText 字段中显示内容的 iOS 应用。

对于应用程序的前三个连续运行(重新启动新 session 而不退出),数据读取正常。然而,在第四次尝试时,从文件返回的数据全部为空。

我已经验证了文件的完整性。使用 stringWithContentsOfFile 或 initWithContentsOfFile 时存在此问题。

经过数小时的故障排除,我认为问题与在上述方法中清除的缓冲区有某种关系。

非常感谢有关此问题的任何见解。我已经尝试了很多事情,但都没有成功。

这是我用来读取文件的代码:

TheString = [NSString stringWithContentsOfFile:[[NSBundle mainBundle]     
pathForResource:@"My_TextFile" ofType:@"txt"] encoding:NSUTF8StringEncoding error:NULL];

这是我用来显示文件某些内容的代码(内容放在 NSArray 类型的数组中):

NSArray *My_Array;

My_Array= [TheString componentsSeparatedByString:@"\n"];

/* Obtain specific data to display */
DisplayedData = [My_Array objectAtIndex:M[l]-1];
:
:
/* Display the data in the view */
MyUITextView.text = DisplayedData;

/* Log the data */
NSLog(@"%@", MyUITextView.text);

在第 4 次调用上述代码时,返回的数据为空,NSLOG 返回空值

非常感谢您的帮助!

最佳答案

也许我回答的有点晚,但是,无论如何,也许有人会觉得它有用。好的,我也花了一天时间试图弄清楚为什么我的可 ScrollView 的自定义类工作了 3 次并在第 4 次拒绝......我发现问题与你的问题具有完全相同的属性:嵌套的 NSString 对象意外消失。虽然指针指向内存中的相同地址,但内存中已经充满了相当随意的对象,而不是我的 NSString。我注意到我使用以下类方法创建了这些 NSString:

+ (id)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc  error:(NSError  **)error

所以,我不是这些 NSString 的所有者。我认为成为所有者可能是一个解决方案,所以我通过 alloc

创建了我的 NSString
- (id)initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc  error:(NSError  **)error 

实例方法。

应用已修复!

关于ios - stringWithContentsOfFile 和 initWithContentsOfFile 在多次运行后返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4044364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com