问题标签 [reuseidentifier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
478 浏览

iphone - 如何自定义 UITableViewCell 而不会在 UITableView 中冻结

我已经自定义了表格视图单元格,创建了 nib 文件及其对应的 .h 和 .m 文件。一切正常,除了滚动时的缓慢,我怎样才能避免冻结可能是什么问题?

dequeueReusableCellWithIdentifier 总是返回 nil,对吗?如果没有自定义,我已经多次看到它不是 nil,现在它总是返回 nil。

0 投票
2 回答
6233 浏览

iphone - UITableView 中的可重用单元格

我正在使用一个UITableView和一个自定义单元格checkbox。我有超过 1 个部分。当在第一部分中检查一个复选框时,例如,ROW = 0和部分= 0的单元格时,我保存数据并起作用。但也检查了 row = 0 和 section = 1 中的单元格!我怎样才能使这些部分之间有所不同?

太感谢了!

0 投票
1 回答
197 浏览

uitableview - 在 UITableView 选择列表中通过一键标记两行

我正在尝试在 UITableView 中做一个选择列表,但是每当我连续点击时,都会标记两行。例如,如果我点击第一行,它会为 row = 0 和 row = 11 添加一个复选标记。我认为问题是由单元格的重用引起的,但我不明白如何解决它。

我附上我的代码.h:

和我的代码.m:

我已经看到UITableView didSelectRowAtIndexPath在有类似帖子的水龙头处添加了额外的复选标记,但我已经使用了 dequeueReusableCellWithIdentifier:CellIdentifier。

任何人都可以帮助我吗?

0 投票
1 回答
85 浏览

uitableview - iOS 5.1 中的自定义 Cell 重用

我很难理解 cellForRowAtIndexPath 中的以下代码块:

我从 StackOverflow 获得了这段代码,它运行良好,直到我尝试在 iOS 5.1 上运行它,它崩溃并出现错误:'NSInternalInconsistencyException',原因:'NIB 数据无效。

但我对代码的不理解是它似乎并没有真正重用任何东西。

例如:为什么这段代码两次为“cell”赋值?

  1. cell=(SliderCellWithComment*)[tableView dequeueReusableCellWithIdentifier:uniqueIdentifier];

  2. 单元格 = (SliderCellWithComment*)currentObject;

如果 2 执行,据我说,没有任何东西被重新使用,因为单元格被分配了一个来自新笔尖的值。

我也没有真正使用数组,为什么下面的代码会呈现空白单元格:

0 投票
2 回答
58 浏览

asynchronous - UITableViewCells 和 NSURLConnection

我有一个自定义 UITableViewCell,当用户单击按钮时,我向服务器发出请求并更新单元格。我使用 NSUrlConnection 执行此操作,并且一切正常(这一切都在单元类中完成),一旦它返回,它就会触发一个委托方法,并且 tableivew 控制器会处理这个。但是,当我在 tableview 中创建单元格时,我使用 dequeue 方法并重用我的单元格。因此,如果一个单元格触发了一个异步 nsurlconnection,并且该单元格在这仍在进行时被重用,这会反过来擦除当前连接吗?我只是想确保如果单元被重用,分配给单元的实际内存仍然存在,因此连接可以履行其职责?

0 投票
2 回答
421 浏览

ios - 为什么我的 tableview 在标识符上崩溃?

我创建了一个 tableviewcontroller 来处理 tableview 中的 4 个静态单元格。表格视图位于 4 个单元格的正下方。但是,最后一个单元格,即第 4 个单元格,根据第 3 个单元格的结果是可选的。

选择器返回一个值,如果值正确,它会重新加载表格视图以激活第 4 个单元格。

设置视图控制器

当我运行应用程序时,它会在加载 SettingsViewController 时崩溃,并出现以下错误:

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法将具有标识符 Cell 的单元格出列 - 必须为标识符注册 nib 或类或连接情节提要中的原型单元格”

如果我有静态单元格,我认为我不需要重用标识符?

以下是相关代码:

0 投票
2 回答
120 浏览

ios - 真正复制 UITableViewCell

我正在尝试从 tableView 拖放 customCell。我正在使用获取 customCell 图像的 UIImageView,然后将其拖到视图周​​围,但问题是我无法获取 customCell 的图像。

但这不起作用,它没有得到任何图像。

我也试过:

这行得通,但有一个问题。由于我正在更改重用 customCell 的文本,它也会在 tableView 中更改。我需要一个 customCell 的副本,这样我才能拥有正确的布局,更改该副本中我想要的内容(在本例中为单元格的 textLabel)并将其添加到要拖动的 imageView 中,并将其与 tableView 的任何 customCell 分开。

任何想法如何实现这一目标?

谢谢你们。

0 投票
2 回答
49 浏览

oop - 强制键入字符串键/ID

在通用 OO 语言(比如 C++、C#、java)中,我有一个带有字符串 ID 的对象映射,并且相同的 ID 也是相关对象的键

现在,如果我想添加一个对象,我会

我不喜欢重复字符串,它只会变得更糟(想想当按键检索时它会爆炸)。

我不能使用枚举(因为在 C++ 等某些语言中它不能轻易转换为字符串,我需要它)

唯一的选择似乎是级联

到那时

这个解决方案更好,仍然非常冗长,在同一个类中仍然存在一些耦合,并且没有强制执行值(就像 enum 一样);

你能想到更好的模式吗?

PS:另一种解决方案是只使用枚举作为键,并将字符串作为一个简单的字段。但这需要在 Foo 和 FooManager 之间增加高耦合(类实例化 foo 实例)

0 投票
1 回答
437 浏览

ios - iOS:UITableViewCell重用,按钮改变图片

我知道这已经被广泛讨论过,而且我敢肯定,我只是简单地遗漏了一些东西,但是像我之前的许多其他人一样,我在 UITableView 中重用单元格时遇到了问题......我有一个按钮显示头像,我第一次异步下载它,然后缓存它以供以后使用......当我在第一次下载图像时滚动我的表格视图时,头像错误地出现在被重用的单元格中,尽管我'在开始下载之前将头像设置为默认头像,所以我希望这里有人知道解决方案...

在 cellForRowAtIndexPath 中:

“userButton”的图像是在图像完全缓存之前被重用的部分,但我认为通过将其设置为默认值(DefaultAvatar 是一个常量文件名),它会简单地设置默认头像,直到另一个被下载因此它不会重用其他图像..

该按钮在我的名为 WaitingCell 的自定义 UITableViewCell 中定义,如下所示:

有什么想法可以防止它重复使用图像并简单地使用 DefaultAvatar 直到下载正确的图像?

0 投票
1 回答
733 浏览

iphone - 一个单元格内容的变化也会改变 UITableView 中的其他单元格

我创建了一个自定义单元格并在其上添加了一个 uibutton。在点击该按钮时,我设置该按钮选择了更改按钮的图像。

上述方法在自定义单元类中。现在,当我向下滚动时,在某些单元格之后,即使我没有点击该按钮,也会选择其他一些单元格的按钮。

这是我的 cellforrowatindexpath 方法:

有什么想法需要做些什么吗?