Ios 如何从NSArray访问属性?

Ios 如何从NSArray访问属性?,ios,objective-c,swift,Ios,Objective C,Swift,我从一个MySQL数据库中获取JSON格式的数据。在Objective-C文件中,数据被修改并放入NSMutableArray(“\u data”)中。通过函数“itemsdownload”,一旦从数据库下载完成并收到“_data”-数组,代理就会收到通知 我在我的输出中得到: ( "<Data: 0x7ca5ff60>", "<Data: 0x7ca5dab0>", "<Data: 0x7be497e0>", "<Data: 0x7ca42c00>

我从一个MySQL数据库中获取JSON格式的数据。在Objective-C文件中,数据被修改并放入NSMutableArray(“\u data”)中。通过函数“itemsdownload”,一旦从数据库下载完成并收到“_data”-数组,代理就会收到通知

我在我的输出中得到:

(
"<Data: 0x7ca5ff60>",
"<Data: 0x7ca5dab0>",
"<Data: 0x7be497e0>",
"<Data: 0x7ca42c00>"
)
(
"",
"",
"",
""
)

谁能帮帮我吗?

问题是你不想要一个NSArray。斯威夫特不知道NSArray里面有什么。您需要一个Swift数组,即
[Data]
。这样,Swift知道每个项目都是一个数据,您可以访问它的属性

您的输出是:

(
"<Data: 0x7ca5ff60>",
"<Data: 0x7ca5dab0>",
"<Data: 0x7be497e0>",
"<Data: 0x7ca42c00>"
)
试着这样说:

func itemsDownloaded(items: [AnyObject]!) {
    let datas = items as! [Data]
    datas.forEach {print($0.messzeitpunkt)}
}

这是合法的,因为现在你已经告诉了斯威夫特数组中的内容。您将看到您的数据就在那里,完全符合您的意愿。

您给了我们很多代码,请将您的问题简化为相关的细节。“我在输出中得到了这些”,您的输出看起来很棒。有什么问题?为什么不在打印中使用点语法?像下面的
print(\(data.your\u property)”)
@matt:我想得到字符串和双值,而不是这个十六进制代码。这样我就可以用它们来制作图表了。@RatulSharker:我已经试过了。如果我这样做,我会得到:“类型'NSArray'的值没有成员'puls'”…例如,非常感谢!
(
"<Data: 0x7ca5ff60>",
"<Data: 0x7ca5dab0>",
"<Data: 0x7be497e0>",
"<Data: 0x7ca42c00>"
)
func itemsDownloaded(items: [AnyObject]!) {
    data = items
    print("\(data)")
}
func itemsDownloaded(items: [AnyObject]!) {
    let datas = items as! [Data]
    datas.forEach {print($0.messzeitpunkt)}
}