NSMutableArray 中的 NSString 与 myString 上的不同

Posted

技术标签:

【中文标题】NSMutableArray 中的 NSString 与 myString 上的不同【英文标题】:NSString in NSMutableArray isn't the same on myString 【发布时间】:2016-05-25 10:29:02 【问题描述】:

我对@9​​87654321@ 和NSMutableArray 有疑问。 当我从可变数组中检索一个字符串时,它有更多的空格,我不明白为什么会这样。

我会解释,我有一个数组并通过查询填充它(使用 sqlite3):

NSMutableArray *fileNameAttached = [[NSMutableArray alloc] initWithArray:[self.dbManager loadDataFromDB:query]];

是这样的:

<__NSArrayM 0x15e233980>(
<__NSArrayM 0x15e26afd0>(
Allegato N. 1
)

)

当我使用此代码检索字符串 Allegato N.1 时:

NSString *test = [NSString stringWithFormat:@"%@", [fileNameAttached objectAtIndex:0] ];

字符串测试是这样的:

(
    "Allegato N. 1"
)

为什么我的字符串不只是:

Allegato N.1

当我将它放在标签中时,它是不正确的,因为包含 () 和空格。 DB的查询是:

NSString *query = [NSString stringWithFormat:@"SELECT fileName FROM Attach WHERE ID = '%@';",ticketID];

而且效果很好,事实上,当我填充 tableview 单元格时就可以了。但我不明白,因为我的字符串测试包含 3 行和更多的空格。

请帮帮我。

谢谢你,对不起我的英语。

【问题讨论】:

根据您的日志:它似乎是NSString的NSArray的NSArray。所以NSString *test = [[fileNameAttached objectAtIndex:0] objectAtIndex:0];,但这可能会指出其他地方的问题(格式/获取错误) 我尝试了您的解决方案,效果很好。谢谢,你能解释一下,因为我的数组是 NSArray 的 NSArray ......我哪里做错了?非常感谢 如果没有您获取的代码,我们无法猜测。但是如果你的查询(如果它们是各种结果)是给出一个 NSArray 的 NSArray 的 NSString ,这是正确的。 【参考方案1】:

在您的日志中有两个数组。

( ( Allegato N. 1 ) )

有两个圆括号表示两个数组。

你正在获取像NSString *test = [NSString stringWithFormat:@"%@", [fileNameAttached objectAtIndex:0] ];这样的数据

这意味着外部数组的第一个对象,所以它是另一个数组。所以你需要做类似的事情

NSArray *temp =[fileNameAttached objectAtIndex:0];

NSString *test = [NSString stringWithFormat:@"%@", [temp objectAtIndex:0] ];

I think you are using appcoda's DBManager class to do this. If it is so then you everytime got two array when load query.

希望这会有所帮助:)

【讨论】:

是的,我使用了 appcoda 的 DBManager 类。因此,我如何从 NSArray 中提取 NSArray 或者如何在 DBManager 类中解决这个问题?非常感谢 您无需解决任何问题。你每次都得到数组数组,所以你可以按照我在回答中提到的那样解析它。

以上是关于NSMutableArray 中的 NSString 与 myString 上的不同的主要内容,如果未能解决你的问题,请参考以下文章

访问另一个 NSMutableArray 中的对象的 NSMutableArray(即嵌套对象访问)

打印 NSMutablearray 中的所有项目

使用 NSMutableArray 中的数据填充 UITableView

与修改 NSMutablearray 中的值相关的问题

将 nsmutablearray 复制到另一个视图控制器中的另一个 nsmutablearray 在数组中显示空值

访问 NSMutableArray 中的 objectatIndex