我是 iOS 开发新手。目前我正在阅读本教程 http://www.appcoda.com/how-to-handle-row-selection-in-uitableview/ .我在阅读这一行时遇到问题
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
我知道 objective-c 中的对象是通过以下方式创建的
classname *objecname = [[classname alloc]init];
我的困惑点在这里 UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
这里如何创建cell
对象?请告知详情。
最佳答案
根据您链接到的教程,我假设您正在处理选择一行。选择一行时,您可以访问该行的 NSIndexPath
,它包含两部分:
- 单元格部分
- 单元格的行
有了这些信息,让我们分解一下令人困惑的代码:UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
UITableViewCell *cell
这部分声明您的变量。您已选择将其命名为 cell
。您可以很容易地将它命名为 theCell
,如下所示:
UITableViewCell *theCell
*
表示您正在声明一个指针,它只是对实际对象或 TableView 单元格的引用。
[tableView cellForRowAtIndexPath:indexPath]
tableView
指的是刚刚选中的UITableView
。 UITableView
有一个名为 cellForRowAtIndexPath
的方法,该方法的作用是检索 UITableView
指定部分和行的单元格。在您的例子中,它会检索您刚刚选择的行并将对其的引用存储在您的 cell
变量中。
当声明一个新对象时,是的,它会采用以下语法:
classname *objecname = [[classname alloc] init];
这里的关键词是new
。在 UITableView
中选择行时,您不想创建新的单元格,因为您无法选择不存在的单元格。您想要获取用户刚刚选择的单元格。
关于ios - 如何在 Objective-C 中创建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28923447/