【问题标题】:save and reload data while app is running ios应用程序运行时保存和重新加载数据 ios
【发布时间】:2012-09-17 16:04:32
【问题描述】:

我已经制作了一个使用 arcgis 的应用程序,并且想要制作它以便我可以保存它使用的服务列表以及其他数组和对象,并在应用程序运行时重新加载它们。 我看过 plist,但不知道如何解决这个问题。

我打算保存的是 一组配置文件和一组服务。

每个配置文件都有一个名称、图例数组、缩放位置数组和要使用的地图服务。

每个服务都有一个名称、url 和一个用于服务类型的字符串类型。

我需要这样做,以便我可以在应用程序运行时更改配置文件和数组,并且更改在保存数据后生效。

【问题讨论】:

    标签: ios save


    【解决方案1】:

    plist 非常简单,您可以将项目组织成数组、字典、NSNumbers、字符串等。这只是决定将什么放在哪里的问题。这是我要做的一个模型:

    <array>
        <dict>
            <key>userName</key>
            <string>myUserName</string>
            <key>legendArray</key>
            <array/>
            <key>zoomLocations</key>
            <array/>
            <key>services</key>
            <array>
                <dict>
                    <key>url</key>
                    <string>http://www.google.com</string>
                    <key>type</key>
                    <string>someServiceType</string>
                </dict>
            </array>
        </dict>
    </array>
    

    如果您不知道,上面的 XML 是 Xcode 在您编辑 plist 时生成的,仅此而已:)如果您更喜欢标准视图,这里是屏幕截图:

    这会创建一个包含字典的数组,每个字典包含一个用户名字符串、一个图例数组、一个缩放位置数组、另一个包含 url 和服务类型字符串的字典数组。

    那么就重新加载数据而言,很难说,因为您没有指定如何显示数据。但是,例如,如果您使用的是表格视图,您所要做的就是在完成保存新数据后调用[self.tableView reloadData];。 (假设 plist 是您的表格数据源)

    如果您需要更多帮助来学习如何将 .plist 保存到文档目录,这里有一个教程: http://iosameer.blogspot.com/2012/08/handling-nsdocumentdirectory-of-your.html

    【讨论】:

    • 感谢这有很大帮助。我想让服务数组本身就是一个数组。为此,我将在根目录中有另一个名为 item 1 的字典项,它将保存 url 和类型?
    • @user1596142 实际上,如果您想这样做,我建议您一起制作第二个 plist。这将帮助您保持井井有条,并且如果它们是数组中唯一的对象,则调用该数组中的项目会更简单。如果我的回答对您有帮助,请务必将其标记为正确:)
    猜你喜欢
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多