Tag: 网址

iOS应用程序中的URL路由:《指南针初学者指南》

应用程序通常具有许多屏幕, UIViewController可以与显示和导航API一起很好地用作屏幕的基础。 一切都很好,直到您迷失在流的森林中,并且代码变得难以维护。 避免这种情况的一种方法是中央URL路由方法。 可以将其视为处理并解决所有路由请求的网络路由器。 这样,代码就变成了声明性的和解耦的,因此列表组件不需要知道它所呈现的内容。 URL路由还使日志记录和跟踪变得容易,并且易于处理外部请求(例如深链接)。 有多种执行URL路由的框架。 在本教程中,为简单起见,将使用Compass。 您将重构一个现有应用程序,这是一个名为PhotoFeed的简化的Instagram应用程序。 完成本教程后,您将知道如何在Compass中声明和使用路由器以及如何处理深层链接。 下载入门项目并解压缩。 转到PhotoFeed文件夹并运行pod install安装此项目的特定依赖项。 打开PhotoFeed.xcworkspace并运行项目。 点击登录以转到Instagram登录页面并输入您的Instagram凭据,然后浏览一下该应用程序。 主应用程序由UITabBarController ,其中显示了提要,当前登录的用户配置文件和菜单。 这是一个典型的Model View Controller项目,其中UIViewController处理Cell委托并负责导航。 为简单起见,所有视图控制器都继承自TableController和CollectionController ,它们知道如何管理特定模型和单元的列表。 所有型号均符合新的Swift 4 Codable协议。 在Instagram上注册您的应用 为了使用Instagram API,您需要在Instagram Developer上注册您的应用程序。 获取您的client id ,切换回项目。 转到APIClient.swift并修改您的clientId 。 注意 :该项目随附具有受限权限的默认应用。 该应用程序无法访问关注或关注者API,并且您只能看到自己的帖子和评论 指南针的概念非常简单:您拥有一组路线以及用于处理这些路线的中心位置。 将路线视为到应用内特定屏幕的导航请求。 URL路由背后的想法是从现代Web服务器中借用的。 当用户在浏览器中输入URL,例如https://flawlessapp.io/for-teams时,该请求将从浏览器发送到Web服务器。 服务器解析URL并返回请求的内容,例如HTML或JSON。 大多数Web服务器框架都支持URL路由,包括ASP.NET,Express.js等。 例如,这是您在express.js中处理URL路由的方式: app.get(’/ api / category /:categoryTag’,函数(req,res){ const page = getCategoryPageFor(req.params.categoryTag) res.send(页面) […]