Bir*_*Bir 1 objective-c uitableview ios
我是 iOS 开发的新手。目前我正在阅读本教程http://www.appcoda.com/how-to-handle-row-selection-in-uitableview/。我在阅读这一行时遇到了问题
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
Run Code Online (Sandbox Code Playgroud)
我知道objective-c中的对象是通过以下方式创建的
classname *objecname = [[classname alloc]init];
Run Code Online (Sandbox Code Playgroud)
我的困惑点在这里 UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell这里的对象是如何创建的?请详细说。
根据您链接到的教程,我假设您正在处理选择一行。当您选择一行时,您可以访问NSIndexPath该行的 ,其中包含两个部分:
有了这些信息,让我们分解一下令人困惑的代码: UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
UITableViewCell *cell
Run Code Online (Sandbox Code Playgroud)
这部分声明您的变量。您已选择将其命名为cell。你可以很容易地命名它theCell,像这样:
UITableViewCell *theCell
Run Code Online (Sandbox Code Playgroud)
这*意味着您要声明一个指针,它只是对实际对象或表格视图单元格的引用。
[tableView cellForRowAtIndexPath:indexPath]
Run Code Online (Sandbox Code Playgroud)
该tableView指UITableView只是选择了。UITableView有一个名为 的方法cellForRowAtIndexPath,该方法的作用是检索UITableView. 在您的情况下,它检索您刚刚选择的行并将对其的引用存储在您的cell变量中。
声明一个新对象时,是的,它将采用以下语法:
classname *objecname = [[classname alloc] init];
Run Code Online (Sandbox Code Playgroud)
这里的关键词是new。在处理在 a 中选择行时UITableView,您不想创建新单元格,因为您无法选择不存在的单元格。您想获取用户刚刚选择的单元格。
| 归档时间: |
|
| 查看次数: |
4872 次 |
| 最近记录: |