self.tableView.delegate = self Swift

2023-12-23

如果我有一个 UIViewController 并且我在故事板中将 tableView 连接到它,连接 tableview 出口,然后通过连接检查器连接数据源和委托方法(cntrl+拖动到 vc 橙色圆圈图标),我还需要添加self.tableView.delegate = self and self.tableView.datasource = self到实际的视图控制器?当然,在实际的 vc 中,我正在实现 tableView 数据/委托协议。

另外,我假设无论答案是否相同,集合视图控制器都会以相同的方式通过故事板连接?

添加它有什么优点和缺点?

class FooController:UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var tableView: UITableView!

override func viewDidLoad() {
    super.viewDidLoad()

    self.tableView.delegate = self
    self.tableView.datasource = self
}


func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { ... }

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { ... }

}

我还需要将 self.tableView.delegate = self 添加到实际的视图控制器吗?

不。您可以通过在故事板中建立连接来完成此操作。他们是exactly同样的事情:分配给delegate属性,以两种不同的方式表示(一种在代码中,一种在 Interface Builder 中“以图形方式”)。您只需执行其中一项即可。

但是如果你的视图控制器是一个表视图控制器(UITableViewController子类),那么你会做neither,因为表视图控制器是already表视图的数据源和委托。集合视图也是如此控制器(UICollectionViewController 子类);这是already集合视图的数据源和委托。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

self.tableView.delegate = self Swift 的相关文章

  • 使用 iOS 8 自定义键盘发送图像?

    我一直在为 iOS 8 开发自定义键盘 但在尝试使用键盘发送图像时偶然发现了一个问题 我做了一些研究 似乎没有一种简单的方法可以做到这一点UITextDocumentProxy因为只有NSStrings被允许 我是否忽略了使用自定义键盘发送
  • 将永久字符添加到 UITextField

    有没有办法将字母永久添加到 UITextField 中 用户无法删除它 我想添加一个字符 用户无法删除它 但他们仍然可以在之后添加字母 Cheers 附注这是适用于 iOS 的 A UITextField有一个名为 应该更改范围内的字符 的
  • UIButton 导致无法识别的选择器发送到实例

    我正在尝试使用 for 循环创建多个按钮 但在使用 sender 函数时遇到问题 我有以下代码 func setUpButtons for i in 1 3 let btn UIButton UIButton frame CGRect x
  • 打乱 NSMutableArray 而不重复并显示在 UIButton 中

    在我看来 我有 12 个按钮 一个数组包含 6 个名称 我想在其中打印数组名称UIButton标题 这是我的代码 texts NSMutableArray alloc initWithObjects 1 2 3 4 5 6 nil UIBu
  • 在 Cocoa OS X AVPlayer 中播放 HLS (m3u8) - Swift

    基本上我正在尝试在 Cocoa Swift 中使用 AVPlayer 播放 m3u8 HLS Live Stream 我对这门语言比较陌生 所以基本上掌握了一些示例代码 http qiita com ono matope items 23d
  • 使用 iPhone 中的地图视图读取当前位置名称

    我读取了当前位置的纬度和经度值 然后成功将该位置固定在 iPhone 中 现在我想使用这个纬度和经度值读取该地名 我使用以下代码来读取查找当前位置 void mapView MKMapView mapView1 didUpdateUserL
  • 模块未使用库演化支持进行编译;使用它意味着无法保证二进制兼容性

    最近我遇到了 SDK 的编译时警告 这是否意味着它不是使用目标设置 构建用于分发的库 构建的 你需要设置Build Libraries for Distribution在项目中Build Settings to No然后它就会消失
  • 在没有预览窗口的情况下使用 AVCaptureVideoDataOutputSampleBufferDelegate

    我正在开发一个基于 Swift 的 macOS 应用程序 我需要捕获视频输入 但不将其显示在屏幕上 而不是显示视频 我想将缓冲的数据发送到其他地方进行处理 并最终显示它在 a 中的一个物体上SceneKit scene 我有一个Camera
  • 在 WKWebView 中禁用放大手势

    我正在寻找一种方法来禁用 WKWebView 的 iOS 实现上的 捏合缩放 放大手势 OS X 有一个 magnification BOOL 属性 但在 iOS 上似乎不可用 WKWebView h if TARGET OS IPHONE
  • Parse.com 从相关 PFObject 获取 PFUser

    我正在将照片保存为 PFObject 解析 并使用 PFUser currentUser 用户 ID 作为其键之一 我想在表格视图中显示照片以及该 PFUser 的详细信息 但是当我尝试获取用户时 PFUser user self phot
  • 如何在 iOS 9 上可靠地检测是否连接了外部键盘?

    在 iOS 9 之前 确定是否连接外部键盘的最可靠方法是监听UIKeyboardWillShowNotification并使文本字段成为第一响应者 如中所述这个问题 https stackoverflow com questions 289
  • UIScrollView setZoomScale 将应用的旋转设置回零

    我已经从事地图替换工作很长一段时间了 整个事情的工作原理是UIScrollView由一个支持CATiledLayer 为了旋转我的地图 我旋转图层本身 使用CATransform3DMakeRotation 到目前为止效果很好 但如果我打电
  • GeoFire Swift 3 - 保存和更新坐标

    我正在尝试使用 GeoFire 将坐标存储到 Firebase 数据库中 我不确定如何更新新坐标 因为它们每秒都会更改 更新 随着childByAutoId 它正在为每辆自行车生成一个新的唯一 ID 如何引用这个唯一的自行车 ID 例如 用
  • 在 Xcode 5 中重命名 iOS 项目[重复]

    这个问题在这里已经有答案了 我需要重命名一个 iOS 项目 有没有办法在不开始一个全新项目的情况下做到这一点 我发现的所有其他信息都与 Xcode 4 或旧版本相关 这些方法似乎使项目崩溃 我在尝试任何名称更改之前创建了一个快照 在 Xco
  • 在 iOS 上将 NSString 转换为 NSDate 的正确方法?

    我一直在使用此方法将常规 NSString 对象转换为 NSDate 但尝试向 Apple 提交更新 但遭到拒绝 在 iOS 中还有什么其他方法可以做到这一点 NSString date str 2011 08 12T12 20 00Z N
  • 将 Firebase 云消息传递与 Windows 应用程序结合使用

    我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging 但是我还有此应用程序的 Windows Mac OS 版本 我想保留相同的逻辑 我知道 Firebase Cloud Messaging 可
  • 如何让按钮闪烁?

    我试图在扫描正确时将按钮的颜色 只是闪烁 闪烁 更改为绿色 在出现问题时将按钮的颜色更改为红色 我可以用这样的视图来做到这一点 func flashBG UIView animateWithDuration 0 7 animations s
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None
  • 什么是 WKWebView 中的 WKErrorDomain 错误 4

    fatal error LPWebView encounters an error Error Domain WKErrorDomain Code 4 A JavaScript exception occurred UserInfo 0x7
  • iOS - UITableViewCell 使文本加粗

    我有一个字符串 NSString userInfo James Johnson james 我想做的就是大胆James Johnson并保留 james正常字体 所以我尝试过的是使用NSAttributedString但为了完成这个过程 我

随机推荐

  • 在 WooCommerce 中应用特定优惠券时添加免费产品

    当通过以下方式使用特定优惠券时 我可以将产品添加到购物车woocommerce applied coupon钩子和add to cart 功能 add action woocommerce applied coupon apply prod
  • 在 C++ 中设置离散分布

    经过几个小时的努力解决这个问题后 我找不到任何对我的错误的解释 我希望计算机选择 0 到 120 含 之间的随机数 加权 我有一个数组 interval 它保存从 0 到 120 含 的数字 我有另一个数组 weights 它保存选择数组中
  • 在 Windows 8 Metro 应用程序中使用动态磁贴 [重复]

    这个问题在这里已经有答案了 可能的重复 无法在 Windows 8 应用程序内创建动态磁贴 https stackoverflow com questions 10279417 unable to create live tile insi
  • r 检查字符串是否包含特殊字符

    我正在检查字符串是否包含任何特殊字符 这就是我所拥有的 但它不起作用 if grepl punct val 因此 如果有人能告诉我我缺少什么 那将会很有帮助 特殊字符 正如 thelatemail 在评论中指出的 您可以使用 grepl p
  • 执行即使我注销也会运行的脚本

    所以 我有一个长时间运行的脚本 大约几天 说execute sh我计划在我拥有用户帐户的服务器上执行 现在 我想执行这个脚本 以便它永远运行 即使我注销或与服务器断开连接 我怎么做 谢谢 你有几个选择 最基本的是使用nohup nohup
  • DirectoryStream.Filter 示例,用于列出基于特定日期/时间的文件

    我正在尝试调查一个DirecoryStream Filter例如newDirectoryStream我可以在其中列出目录下的所有文件 及其所有子目录 例如 超过 60 天的 DirectoryStream
  • 如何在 Raphael.js / IE 中“固定”模式?

    我正在创建一个小工具来说明偏光镜片的优点 基本上 用户将在令人眼花缭乱的场景 容器 DIV 的 CSS 背景 上拖动镜头 Raphael js 路径 并 透视 镜头 这是js代码 var rsr Raphael playmask 720 5
  • 关于数组大小计算[重复]

    这个问题在这里已经有答案了 可能的重复 有人可以解释一下这个给我数组大小的模板代码吗 https stackoverflow com questions 437150 can someone explain this template co
  • 在 React/Express 应用程序的生产中代理 api 请求

    我正在使用独立的存储库 后端和前端 开发一个 MERN stack 项目 在发展环境中 我使用 代理 将服务器 API 与 React 连接 并且运行良好 package json in react proxy http localhost
  • vim 使用当前行作为参考点进行搜索和替换

    有没有办法使用当前行作为参考来指定搜索和替换范围 我可以使用明确的行号指定范围 例如 5 15s foo bar g 仅在第 5 行到第 15 行上进行搜索和替换 如何指定 从当前行到当前行下方 或上方 10 行 之类的范围 您可以使用 对
  • 使用 spring 将枚举的值注入到属性中

    我有一个类似于下面的枚举 public enum MyEnum ABC some string DEF some string GHI another string String value private MyEnum String va
  • 删除 WPF 中 ListView 上的鼠标悬停效果

    我怎样才能摆脱淡蓝色鼠标悬停对我的影响ListView 当我触摸屏幕时 会出现一个浅蓝色选择器 并在我上下滚动时停留在屏幕中间 但以深蓝色突出显示的所选项目不会改变 我猜这是鼠标悬停效果 因为当我使用鼠标时会出现同样的效果 如何解决 我使用
  • 为什么这个会被锁?循环遍历所有行,对重复项执行函数,删除重复行

    当我一次咬掉几百行时 代码可以工作 但当我尝试在 10 000 行上运行它时 代码总是挂在中间的某个地方 代码的作用 查找 A 列中的重复条目 将两行之间的 c d 和 e 列中的值相加 然后删除原始行 有人能想出一种更稳定的方法来做到这一
  • .net ORM 比较 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么 display:none 不隐藏 Struts 2 标签,如

    我想知道为什么div标签无法隐藏Struts2标签 我正在使用div它应该隐藏在负载上 并且onChange我正在调用 jQuery 来切换div tag
  • 如何保持 psobject 有序?

    我有以下脚本 它从另一个脚本获取对象并将其转换为 pscustomobject script1 ps1 ViewConnection cinput OutVariable xprtOut Format Table Wrap converti
  • “Where”子句中的动态表达式 - Linq to SQL

    我是 LINQ 的新手 所以我希望这不是一个愚蠢的问题 我有一个在数据网格中显示大量内容的表格 我希望用户能够通过使用网格上方的一些组合框 如搜索栏 来过滤网格 我创建了一个方法 它获取组合框中的文本 并将其放置在 Where 子句中 pu
  • 从 void 函数返回[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从函数返回哪种更正确的方法 void function blah some code OR void function blah some co
  • 如何使用 Chef 菜谱来设置环境变量?

    如何使用 Chef 菜谱来设置环境变量 我需要使用 Chef 食谱设置环境变量 您能提供一个如何实现这一目标的示例吗 如果您需要严格在 Chef 进程内设置环境变量 则可以使用ENV foo bar 因为这是一个 ruby 过程 如果您需要
  • self.tableView.delegate = self Swift

    如果我有一个 UIViewController 并且我在故事板中将 tableView 连接到它 连接 tableview 出口 然后通过连接检查器连接数据源和委托方法 cntrl 拖动到 vc 橙色圆圈图标 我还需要添加self tabl