故事板和 Segue - 传递数据我做得好吗?

2024-01-21

我正在使用情节提要和转场。我想从“联系人列表”(tableView)切换到“个人资料视图”(ScrollView)。

三个问题 :

  • 这是最好的方法(更干净和漂亮)吗?& 为什么 ?
  • 当我这样做时: ProfileViewController *aProfileView = (ProfileViewController *)[segue destinationViewController];这是实例化一个新视图吗? (就像它会创建 2 个配置文件视图一样)。
  • 我是否需要清理(删除某处的“配置文件视图”?)或者它单独与导航控制器一起执行?

// Code

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"showProfileSelected"]) 
    {
        // Get the Selected raw
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        Profile *selectedProfile = [self.profilesTable objectAtIndex:indexPath.row];

        // Using segue --> Send the current selected profile to "ProfileView"
        ProfileViewController *aProfileView = (ProfileViewController *)[segue destinationViewController];
        aProfileView.currentProfile = selectedProfile;
    }
}

// 其他方法来做到这一点:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"showProfileSelected"]) 
    {
        // Get the Selected raw
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        Profile *selectedProfile = [self.profilesTable objectAtIndex:indexPath.row];

        // Using segue --> Send the current selected profile to "ProfileView"
        [segue.destinationViewController setCurrentProfile:selectedProfile];
    }
}

你的第一个例子很好。您没有创建任何东西,只是获取对目标控制器的引用。设置这样的变量允许您在目标视图控制器上设置多个属性,而无需一遍又一遍地进行转换。

因此,回答您的具体问题:

  • 是的,这是最好的方法。由于目标视图控制器的通用类,很难让prepareForSegue变得“漂亮”
  • 不,你没有创造任何东西。
  • 不,你没有任何东西需要清理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

故事板和 Segue - 传递数据我做得好吗? 的相关文章

  • 从另一个选项卡重新加载 UITableView

    我在尝试重新加载时遇到问题UITableView从 XML 源加载的单元格数据 这是场景 应用程序包含选项卡 其中一个选项卡中有一个表格视图 它从 XML 文件获取数据并且工作正常 但问题是当我想要更改提要类别并从另一个选项卡更改 XML
  • 是否可以在两个应用程序之间共享一项应用程序内购买?

    我的产品有两种不同的版本 一种用于 iPhone 另一种用于 iPad 是否有可能解锁功能通过应用内购买in both与其中之一一起玩一次 您不能使用相同的 ID 但是 您可以管理有关哪些用户在您自己的服务器上进行了哪些购买的信息 并在用户
  • 当方向改变时,视图控制器会为我做什么?

    一个简单的iphone程序 由项目模板View based Application生成 有几个按钮 我添加了以下代码 void showInfo UIView view NSLog view bounds 6 2f 6 2f 6 2f 6
  • 工作表关闭后 SwiftUI 导航栏项目框架未对齐

    在 SwiftUI 中关闭工作表后 导航栏按钮不可点击 以下是重现该问题的步骤 出示一张单子 将应用程序移至后台一小段时间 2 秒 恢复应用程序并向下滑动关闭工作表 现在导航栏按钮框架未对齐 点击的工作框架与按钮的可见框架不同 这在 iOS
  • 更快地估计 CollectionView 中单元格高度的方法

    我的 UICollectionView 中有一个无限滚动 我注意到我估计单元格高度的方式是我的集合视图的瓶颈 我滚动收藏视图的次数越多 它就会导致一些长时间的延迟 有没有更好的方法来估计单元格的高度 这些单元格有不同的高度 因为我有一个UI
  • iPad 上的 ios11 iphone 应用程序图标丢失

    我有一个仅限 iPhone 的应用程序 但它也可以在 iPad 上以兼容模式运行 毫不奇怪 但是当我更新了ios11的应用程序后 iPad上的应用程序图标丢失了 这是我尝试过的 在iPhone模拟器上启动 出现图标 在 iPad 模拟器上启
  • 使用 facebook connect for iPhone 上传照片的记录流程

    看完之后 我确实在 Facebook 论坛上看到了这篇文章 link http forum developers facebook com viewtopic php id 30467 他们正在向 facebook 对象提供 UIImage
  • 从核心数据存储创建 .sqlite 文件?

    我在书籍和提供 sqlite 文件下载的网站上看到过教程 sqlite 文件用于核心数据 如何获取 sqlite 文件FROM应用程序或核心数据存储TO我的桌面 如果您要创建一个预填充的 sqlite 文件以与 Core Data 一起使用
  • 多次显示admob插页式广告怎么办?

    我有一个小型游戏应用程序 它有一个故事板 里面创建了像开始菜单 游戏区域 分数这样的场景 我在其中添加了 admob 横幅视图和插页式广告 我的横幅视图工作正常 但我的插页式广告只能工作一次 我在 viewdidload 上加载插页式广告
  • 在 SwiftUI App 中实现深色模式切换

    我目前正在我的应用程序中研究深色模式 虽然由于我的 SwiftUI 基础 深色模式本身并不困难 但我正在努力选择将 ColorScheme 设置为独立于系统 ColorScheme 的选项 我在苹果人机界面指南中找到了这一点 https i
  • IOS Swift 从数组中搜索表

    我刚刚开始学习 swift 我正在研究 tableview 和 searchbar 功能 下面我有我的数组 它是水果列表 var fruits String Apple Green Pear Green Banana Yellow Oran
  • 使用 Xcode 6 和(可能)cocoapods 生成错误

    在构建使用 cocoapods 和最新 Xcode 6 GM 版本的 iOS 项目时 我收到以下静态分析器错误 error error reading pic error no analyzer checkers are associate
  • Swift 中的自定义输入视图

    我花了几个小时试图弄清楚如何创建 然后定制inputView上班 我有一个网格TextInputs 想想拼字板 按下时应该加载自定义inputView插入文本 我创建了一个 xib文件包含UI elements为定制inputView 我能
  • UIView 内的 UIButton 目标操作

    我有一个习惯UIView我创建了一个UIButton 在该视图中 我有以下代码 func setupViews menuControlButton addTarget self action toggleButton forControlE
  • 如何在 Swift 编程中获得基于导航的模板功能

    我的项目需要一个导航控制器 并且我的应用程序最初有一个社交登录 一旦验证通过 用户将被推送到另一个视图 我在其中显示一个具有 2 个选项卡的选项卡控制器 我不知道如何在 Swift 编程中做到这一点 我已将视图控制器嵌入到导航控制器中 一旦
  • AVPlayerLooper 每次迭代后黑闪

    我正在使用 Apple 的示例代码在UICollectionViewCell背景 我在用着AVPlayerLooper 因为它是同一视频的迭代 我的问题是 当视频结束时 它会显示轻微的黑屏闪烁 也许它正在将视频搜索到0时间 我不确定 这是代
  • Xcode 4 Core Data:如何使用在数据模型编辑器中创建的获取属性

    如何在 Xcode 4 中实现获取的属性 Here is an example of two entities a book and a page 我按照此处的指南创建了一个获取的属性 该属性使用变量 FETCH SOURCE 引用来自源实
  • 我可以对图像进行动画处理吗 iOS8 LaunchScreen.xib

    问题 有没有方法可以为针对 iOS 8 1 部署的 Xcode 6 项目的 LaunchScreen xib 文件中的任何内容设置动画 Context 我正在寻找制作简单的动画来传达活动或在用户等待时分散他们的注意力 例子 加载栏 活动指示
  • Xcode 找不到我的静态库!

    这是链接器错误 i686 apple darwin10 gcc 4 2 1 Users william Documents SettingsLibrary build Debug iphonesimulator libSettingsLib
  • 从 Xcode 更改按钮文本?

    我有一个 IBAction 连接到 Interface Builder 中的一个按钮 是否可以在运行时从我的代码中更改按钮 在 IB 中 上的文本 如果您的代码中有一个连接到某个操作的按钮 则无需实例变量即可更改标题 例如 如果按钮设置为以

随机推荐

  • 保证表值函数结果的顺序

    PREMISE 应用程序代码无法更改 条件非常具体 我正在寻找一些非书本上的东西 如果可以的话 这是最后的解决方法 我有一个表值函数 内联 可以生成 2 到 7 条记录 有时可能只有 1 个或最多 15 个 但很少 该函数仅由应用程序以这种
  • 特定值的固定颜色

    我正在尝试制作温度图 一切正常 但我不知道如何拥有固定的调色板 其实我有这个 rgb palette lt colorRampPalette c blue green yellow orange red space Lab image pl
  • 如何在java中改变我的框架?

    假设有一个按钮 如果您单击该按钮 则会出现一个新框架 依此类推 The setVisible true 函数用于显示框架 创建所需框架的对象并调用此函数 像这样的东西 The applications first or the main f
  • 打印 Mnesia 表的最佳方式

    我尝试了这个代码片段 print next Current gt case mnesia dirty next muppet Current of end of table gt io format n ok Next gt Muppet
  • 缺少 HttpClient 的依赖项

    我在 Java 桌面应用程序中使用 HttpClient 我已经添加httpclient 4 0 1 jar and httpmime 4 0 1 jar到构建路径 但我收到错误 无法解析类型 org apache http HttpRes
  • 使用标识符或 url 获取 Facebook 群组 ID

    我想通过使用 URL 或特定标识符来获取 Facebook 群组 ID For ex http www facebook com groups chennaifoodies http www facebook com groups chen
  • $.ajax仅在放置alert()时才起作用

    我尝试将内容加载到之前使用 AJAX 加载的内容中 我把代码 使用负载 jQuery contentpage on submit loginform my function contentpage load logincheck jsp a
  • 解析模型后,Redland RDF 中 RDF 节点的生命周期?

    我正在解析 RDF model 使用librdf parser parse string into model 然后我保留librdf model但释放librdf parser 在我看来 模型中的节点似乎也消失了 那么一生会做什么雷德兰R
  • 不使用 webpackJsonp 编译 Webpack typescript

    是否可以使用webpack进行打包而不使用webpack模块加载 我有一个可以使用 webpack 的所有内容的应用程序 在这个应用程序旁边我有一个小的打字稿文件test ts应该被编译 缩小等 但是输出应该是一个简单的js文件 没有被包装
  • iPhone应用程序启动时间指南[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 请指出 iPhone 应用程序启动时间指南 我发现有大约 24 秒的硬性限制 如果应用程序当时未启动
  • 读取EDI格式文件

    我是 EDI 新手 我有一个问题 我读到 通过查看 ISA 行的最后 3 个字符 您可以获得有关 EDI 格式的大部分信息 如果每个 EDI 都使用换行符来分隔实体 那么这很好 但我发现许多都是单行文件 其中使用任意数量的字符作为换行符 我
  • 使用 pandas apply 时的异常处理

    我可以使用 series str extract 从 pandas 系列中提取子字符串 ds pd Series 1A apple 1B pear 3C orange grape ds str extract d 1 expand Fals
  • Broom.mixed exp 模型预测

    我想请求一些帮助来绘制我的模型的预测值以及 lmer 估计生成的方程 所以 我得到的数据是不同老鼠在不同日期的质量体积 每只老鼠都有不同的时间点来测量该体积 那么 我使用的模型是 m1 lt lmer lVolume Country Day
  • AWS Lambda - NAT 网关互联网访问导致超时

    我有一个 AWS Lambda 函数 检查 Redis Elasticache 实例 如果在缓存中未找到该项目 则转至 Google Places API 服务 Redis 实例位于私有子网 因此 为了获取它 我添加了 VPC 和实例所在的
  • Android:ping:icmp 打开套接字:不允许操作

    是否可以在没有 root 访问权限的情况下在 Android 4 3 上执行 ping 有些人建议 sudo chmod u s system bin ping http ben goodacre name tech Ping icmp o
  • @media Chrome 下打印文字阴影

    当我添加 css 规则时 文字阴影 对于未显示在其中的文本 媒体打印 另存为PDF 并且它不适用于特殊情况Chrome 它在 IE11 下工作得很好 但在 Chrome 下 不行 这让我非常非常失望 这是简单的文本阴影示例 item tex
  • 仅在添加预先存在的数据后才始终删除闪亮的 CRUD 应用程序中的第一行

    我被困住了 需要帮助 我正在按照这个要点工作https gist github com gluc d39cea3d11f03542970b https gist github com gluc d39cea3d11f03542970b 基本
  • 如何在 C++ 中创建类对象的向量?

    我正在尝试使用 C 中的向量创建一个简单的堆栈 这是代码 include
  • 在powershell中将Arraylist转换为字符串

    我正在尝试从变量中 grep 一些数据 Select String inputObject patternstring Pattern regex AllMatches Matches Value OutVariable outputVal
  • 故事板和 Segue - 传递数据我做得好吗?

    我正在使用情节提要和转场 我想从 联系人列表 tableView 切换到 个人资料视图 ScrollView 三个问题 这是最好的方法 更干净和漂亮 吗 为什么 当我这样做时 ProfileViewController aProfileVi