【问题标题】:Reloading NSArray of NSStrings From File从文件中重新加载 NSStrings 的 NSArray
【发布时间】:2013-02-04 19:08:45
【问题描述】:

我有一个 NSString 的 NSArray,我将其保存到文件中,然后在重新启动应用程序时从文件中重新加载。但奇怪的是,重新加载后的字符串周围有括号。

我通过以下方式保存:writeToFile:atomically:

我通过以下方式加载数组:arrayWithContentsOfFile:

问题是当 NSString 进入时,它可能看起来像这样:

I_am_the_good_old_string

但是从文件中重新加载数组后,它看起来像这样:

(

I_am_the_good_old_string

)

我不明白为什么他们现在有括号。任何帮助表示赞赏。

【问题讨论】:

  • 请贴一些代码。

标签: ios nsstring nsarray loading writetofile


【解决方案1】:

我猜你要打印的第二个对象是一个包含一个字符串的 NSArray,而不是 NSString 对象本身。尝试调用此方法以查看对象类的名称。

NSLog(@"%@",[possibleStringObject class]);

【讨论】:

  • 所以你是对的,原来它是一个数组。这对我来说很奇怪,当你保存一个填充了 NSString 的数组时,它们会被保存为单独的数组……每个数组都包含一个字符串。知道这是为什么吗?
  • 我的错误,原来我以为我添加了一个 NSString,我不小心添加了一个包含字符串的 NSArray。不过感谢您的帮助。
【解决方案2】:

括号是一个数组对象,如果你打印出一个数组,它会调用[myarray description],看起来就像你描述的那样..

(obj1,
obj2,
obj3)

您可能正在打印字符串,然后打印数组。 重新加载数组后尝试打印字符串..

NSLog(@"myString:%@", [myArray objectAtIndex:0]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 2020-03-08
    • 2016-03-26
    • 2012-07-11
    • 1970-01-01
    相关资源
    最近更新 更多