我正在为iPhone创建一个字典应用程序,在用户输入时提供结果.我使用线程(NSThread)来更新UITableView,以便不阻止主线程.
但是,当UITableView向数据源询问行数时会发生崩溃(tableView:numberOfRowsInSection :),然后我返回10,然后它会向数据源询问单元格0-9(tableView:cellForRowAtIndexPath :).但是当它要求单元格7时,数据源已经改变,现在它只有5行,从而导致崩溃.
以下是我如何解决问题:
我在init方法中创建了一个NSLock.
这是数据源的样子:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [results count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
[lock lock];
if (indexPath.row < [results count]) {
cell.textLabel.text = [results objectAtIndex:indexPath.row];
}
[lock unlock];
return cell;
}
Run Code Online (Sandbox Code Playgroud)
这是我用来更新表的代码:
[tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
Run Code Online (Sandbox Code Playgroud)
它完全解决了崩溃问题.但是,我认为它可能效率不高,因为每次要求一个单元格时,数据源都必须锁定/解锁.我上面提到的情况并不经常发生.有没有人更好地了解如何有效地解决这个问题?
非常感谢你!
初学者在这里试图找出构造一些JSON的最佳方法并输出下面的嵌套<ul>
下面的每个粗体项都是JSON中的值.我如何构建JSON,然后如何使用jQuery构建DOM结构?任何帮助非常感谢.
<ul>
<li>Topic 1
<ul>
<li id="foo_item1a">
<a href="destination_Item1a">
<strong>Lorem</strong>
<span>Item 1a</span>
<em>Ipsum</em>
</a>
</li>
<li id="foo_item1b">
<a href="destination_Item1b">
<strong>Dolor</strong>
<span>Item 1b</span>
<em>Sit</em>
</a>
</li>
</ul>
</li>
<li>Topic 2
<ul>
<li id="foo_item2a">
<a href="destination_Item2a">
<strong>Lorem</strong>
<span>Item 2a</span>
<em>Ipsum</em>
</a>
</li>
<li id="foo_item2b">
<a href="destination_Item2b … 假设我在一个标准的maven Web应用程序布局中有一个.properties文件和hibernate.cfg.xml,它应该放在哪里,以便在我运行包时它们包含在我的.war文件中?
的src/main /资源
的src /主/ JAVA
的src /主/ web应用
的src /主/配置
?
我不明白以下程序的输出:
#include<stdio.h>
int main()
{
int i=-3, j=2, k=0, m;
m = ++i || ++j && ++k;
printf("%d %d %d %d\n", i, j, k, m);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出-2 2 0 1代替-2 3 1 1,意味着在表达式之前++i评估(并导致||运算符使其右侧短路),++j && ++k这似乎与&&运算符具有更高优先级的事实相矛盾||.
有人解释原因吗?
假设我已经安装了三个宝石:package-0.4.0,package-0.5.0和package-0.5.0-jbfink(我已经构建了-jbfink,因为我对0.5.0的源做了很小的改动并希望将其与官方版本区分开来).是否有宝石(或其他命令)使其成为默认值?现在我已经安装了所有三个,但我的shell正在从package-0.5.0中获取可执行文件,我宁愿它默认为0.5.0-jbfink.
将0.5.0-jbfink命名为0.5.1解决了这个问题,但是我不想这样做,因为当它出现时我宁愿与正式发布的0.5.1发生冲突.
我正在构建一个触摸屏信息亭,它将使用谷歌浏览器来显示内容.除了用于在某些屏幕上输入名称信息的虚拟键盘外,没有键盘.用户无需在自助服务终端上选择任何内容.
当我将手指放在屏幕上的任何位置并拖动它时,蓝色选择字段开始出现.我必须废除它.
最初我使用Opera,它具有禁用文本选择的配置功能.我无法在Chrome中找到相应的内容.
任何人都知道Chrome中是否有这样的配置,或者Javascript会实现这一目的?
ima初学者iphone开发者和我想知道@property(nonatomic,retain)语句的用法有什么用例子,任何机构都能给我任何答案吗?
由所见即所得的编辑制作的标记是残酷的.它充斥着样式属性,甚至通常都不是有效的HTML(缺少结束标记,重叠样式等).是否有针对所引入问题的既定解决方案contenteditable?如果没有,我该如何创建一个呢?
例如,在输入无序列表后跟一行文本进入流行的富文本编辑器后,我会看到以下HTML:
<ul><li>foo</li><li>bar</li></ul><div>baz
Run Code Online (Sandbox Code Playgroud)
div标签来自哪里?为什么不关闭?为什么不是一个段落 - 当然适当关闭?这可以预防吗?
另一位编辑制作了如下:
<p style="font-size:11pt; line-height:115%; margin:0pt 0pt 0pt 36pt; text-indent:-18pt"><span style="color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-weight:normal; text-decoration:none">?</span><span style="font:7.0pt 'Times New Roman'"> </span><span style="color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-weight:normal; text-decoration:none">Lorem</span></p><p style="font-size:11pt; line-height:115%; margin:0pt 0pt 0pt 36pt; text-indent:-18pt"><span style="color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-weight:normal; text-decoration:none">?</span><span style="font:7.0pt 'Times New Roman'"> </span><span style="color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-weight:normal; text-decoration:none">ipsum</span></p>
Run Code Online (Sandbox Code Playgroud)
这是有效的标记,但它在语义上太可怕了!编辑器插入了文字项目符号,而不是样式化的无序列表.作为开发人员,我不知道如何处理标记contenteditable.造型方面,它完全没用.
直到最近,我一直使用Markdown作为从用户生成语义正确的HTML的工具.但是,Markdown缺少我的用户要求的某些功能(非技术人员的易用性,图像定位等).在寻找一个可以产生有效语义标记的wysiwyg编辑器几周之后,我发现这contenteditable使得这一切变得不可能.有人在某个地方谈论这些问题的解决方案吗?我怎么能参与其中
我想我前面并不完全清楚.我不是在想办法解决contenteditable问题.我发现了很多这些,包括下面提到的大部分内容.我想要找到的是这些问题的根本原因.为什么contenteditable这么破?是由于技术问题还是遗留代码问题?此外,正在采取哪些措施来解决这个问题以及这项工作在哪里完成?
上面第二个示例中的HTML来自Google文档编辑器.但是,正如 …
我真的希望在Emacs中禁用斜体样式.
在这篇文章中,它解释了如何禁用粗体和下划线,但不是斜体.
有谁知道这是怎么做到的吗?
使用制表符完成,我可以看到我有这些可用
set-face-background set-face-background-pixmap
set-face-font set-face-foreground
set-face-inverse-video-p set-face-stipple
set-face-underline set-face-underline-p
Run Code Online (Sandbox Code Playgroud) 有没有人有关于如何使用HTTPClient 4.0.1通过x509证书执行客户端身份验证的任何友好提示?
感谢您的时间.
iphone ×2
javascript ×2
c ×1
cocoa-touch ×1
css ×1
elisp ×1
emacs ×1
emacs-faces ×1
fonts ×1
html ×1
httpclient ×1
java ×1
jquery ×1
json ×1
maven ×1
maven-2 ×1
ruby ×1
uitableview ×1
wysiwyg ×1
x509 ×1