问题列表 - 第34131页

为什么将"viewWithTag"与"dequeueReusableCellWithIdentifier"一起使用?

谁可以解释为什么你应该使用从一个单元格viewWithTag获取子视图(例如UILabel等)dequeueReusableCellWithIdentifier

一些背景信息:我有一个UITableViewCell带有几个UILabels 的自定义(我在下面复制了一个简单的版本).这些标签在关联的NIB文件中定义,并使用IBOutlets 声明并链接回自定义单元的控制器类.在tableview中dequeueReusableCellWithIdentifier,我这样做:

CustomCell *customCell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:@"CustomCellId"];
if (customCell == nil) {
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"customCell" owner:self options:nil];
    for (id oneObject in nib)
        if ([oneObject isKindOfClass:[CustomCell class]])
            customCell = (CustomCell *)oneObject;
}

customCell.firstLabel.text = @"Hello";
customCell.secondLabel.text = @"World!";

return customCell;
Run Code Online (Sandbox Code Playgroud)

一切正常.但是从我看过的教程中,看起来在更改标签的值时,我应该这样做:

UILabel *firstLabel = (UILabel *)[customCell.contentView viewWithTag:555];
firstLabel.text = @"Hello";

UILabel *secondLabel = (UILabel *)[customCell.contentView viewWithTag:556];
secondLabel.text = @"World!";
Run Code Online (Sandbox Code Playgroud)

(标签的标签值已在NIB中设置).

有人能告诉我哪种方法更受欢迎,为什么? …

iphone uitableview ios

12
推荐指数
2
解决办法
2万
查看次数

未知的C表达式

我在示例程序中遇到了以下行,并且不知道它是什么.我想这是一个函数调用,但我不确定:

(void) pthread_mutex_init(&bottleneck, &mxattr);    
Run Code Online (Sandbox Code Playgroud)

如果是函数调用,为什么它以(void)开头?我以前从未见过这个.这是更多背景下的界限:

attr_init(pthread_process, pthread_scope, stacksize);    
(void) pthread_mutex_init(&bottleneck, &mxattr);    
barrier_init(&setup_barrier, (2 * ntables) + 1);    
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.整个程序来自本Solaris白皮书(附录D)

c

2
推荐指数
1
解决办法
381
查看次数

Javascript正则表达式

对于我正在处理的快速"搜索和突出显示"脚本有一个小问题.我正在使用正则表达式,因为我想在文档加载后在客户端进行搜索.我的搜索/突出显示功能如下:

function highlight(word, colour, container) {
    var regex = new RegExp("(>[^<]*?)(" + word + ")", "ig");
    var replace = "$1<span name='searchTerm' style='background-color: " + colour + "'>$2</span>";

    if (regex.exec(container.innerHTML)) {
        container.innerHTML = container.innerHTML.replace(regex, replace);
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

word是要搜索的单词,colour是要突出显示它的颜色,container是要搜索的元素.

考虑包含这个的元素:

<ul>
    <li>Set the setting to the correct setting.</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

说我把单词"set"传递给了高亮功能.在它的当前状态中,它只发现由于懒惰重复而设置的第一个实例.

那么如果我将正则表达式更改为:

var regex = new RegExp("(>[^<]*?)?(" + word + ")", "ig");
Run Code Online (Sandbox Code Playgroud)

现在这很好用,它突出显示字符串"set"的所有实例.但是,如果我传递搜索词"li",那么它将替换标签内的文字!

是否有快速修复此正则表达式以获得我想要的行为?我需要它来替换搜索字符串的所有实例,而不是作为标记的一部分找到的那些实例.我想使用正则表达式保持客户端.

谢谢!

javascript regex

0
推荐指数
1
解决办法
157
查看次数

Git with Dropbox

我一直在使用git半年左右,我不知道我是否完全使用git.

首先,我一直在尝试使用Dropbox,我觉得如果我可以将它合并到我的工作流程中,那么它真的很棒,因为Dropbox非常方便.

  1. 我有台式机和笔记本电脑.两者都有Dropbox.
  2. 我通过做一个初始化我的Dropbox repos git init --bare.然后在我的桌面的提交后脚本中,我有一个git push --mirror dropbox.

这样我的桌面和保管箱将始终完全镜像,这是一件好事.

我真正的问题是:我应该如何设置我的笔记本电脑? 我听到了一些建议:

  1. 从我的桌面拉,以便我的笔记本电脑的原产地是桌面.
  2. 直接从保管箱拉,以便我的笔记本电脑的起源是保管箱.

我一直在做第二,我不知道我做的是否正确.我的工作流程包括:

  1. 每次我在我的笔记本电脑上,我做一个git pull(因为笔记本电脑的起源是dropbox和dropbox更新本身)
  2. 然后当我从dropbox检出分支到本地分支时.
  3. 完成工作后,我承诺.
  4. 这是我感到困惑的地方:我应该把--mirror推到我的Dropbox repos(我的笔记本电脑的原始回购)吗?我在这方面遇到了一些困难:有时候Dropbox不能很好地同步等等

目前,在我的笔记本电脑上执行git branch -r后,在我的桌面上执行操作并未显示我最近的笔记本电脑提交.有人可以告诉我为什么吗?git push --mirror origin

我提到直接从我的桌面拉,因为这样我总是可以初始化拉动,我100%确信同步完成.使用Dropbox,我永远无法100%确定更新是否已推送到Dropbox服务器

git dropbox

13
推荐指数
1
解决办法
5275
查看次数

主键的设计标准是什么?

选择好的主键,候选键和使用它们的外键是一项非常重要的数据库设计任务 - 与科学一样多的艺术.设计任务具有非常具体的设计标准.

标准是什么?

database database-design foreign-keys data-modeling primary-key

8
推荐指数
3
解决办法
1万
查看次数

是否将多个文件添加到Hadoop分布式缓存?

我试图将多个文件添加到hadoop分布式缓存中。其实我不知道文件名。他们将被命名为part-0000*。有人可以告诉我该怎么做吗?

谢谢巴拉

java hadoop mapreduce

5
推荐指数
1
解决办法
3237
查看次数

这个C++语法是什么意思,为什么它起作用?

我正在浏览OpenDE的源代码,我在类上遇到了数组索引运算符'[]'的一些奇怪的语法用法.这是一个显示语法的简化示例:

#include <iostream>

class Point
{
public:
    Point() : x(2.8), y(4.2), z(9.5) {}

    operator const float *() const
    {
        return &x;
    }

private:
    float x, y, z;
};

int main()
{
    Point p;
    std::cout << "x: " << p[0] << '\n'
              << "y: " << p[1] << '\n'
              << "z: " << p[2];
}
Run Code Online (Sandbox Code Playgroud)

输出:

x: 2.8
y: 4.2
z: 9.5
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?为什么这种语法有效?Point类不包含重载operator [],此处此代码试图自动转换为浮动某处.

我以前从未见过这种用法 - 至少可以说这看起来很奇怪而且令人惊讶.

谢谢

c++ operator-overloading

15
推荐指数
2
解决办法
580
查看次数

在Scala中,如何通过一对键值找到CSV中的elemein?

例如,从以下文件:

Name,Surname,E-mail
John,Smith,john.smith@hotmail.com
Nancy,Smith,nancy.smith@gmail.com
Jane,Doe,jane.doe@aol.com
John,Doe,john.doe@yahoo.com

我如何获得John Doe的电子邮件地址?

我现在使用以下代码,但现在只能指定一个关键字段:


val src = Source.fromFile(file)
val iter = src.getLines().drop(1).map(_.split(","))
var quote = ""
iter.find( _(1) == "Doe"  ) foreach (a => println(a(2)))
src.close()

我试过写"iter.find(_(0)=="John"&& _(1)=="Doe")",但这会引发一个错误,说只有一个参数是预期的(将条件包含在额外的中)一对括号没有帮助).

csv file-io scala

5
推荐指数
1
解决办法
439
查看次数

MYSQL如何在select查询中使用trim

我的桌子有50左右的记录,

在表中我有列调用USERNAME,但一些用户名前导和尾随有空格,

所以由于空白,我没有得到确切的订单结果,

那么告诉我如何在SELECT查询中使用trim ,

谢谢

mysql sql string

19
推荐指数
1
解决办法
5万
查看次数

朋友混淆

$ 11.4/5 - "[...]类中定义的友元函数位于定义它的类的(词法)范围内[...]

这句话是什么意思?

struct A{
   typedef int MYINT;
   void f2(){f();}                    // Error, 'f' is undefined
   friend void f(){MYINT mi = 0;}     // Why does this work, shouldn' it be A::MYINT?
   void f1(){f();}                    // Error, 'f' is undefined
};

int main(){}
Run Code Online (Sandbox Code Playgroud)
  1. 令人困惑的是,从'A :: f1'调用'f'是可以理解的.然而,当一个朋友处于好友阶层的"词汇"范围时,为什么从'A :: f2'调用'f'是不正确的?"词汇"范围意味着什么?

  2. 在同一类型中,为什么在"f"中使用'MYINT'可以?不应该是'A :: MYINT'吗?

如果我将'A*'类型的参数添加到'f',那么'f1'和'f2'都能够因为ADL而找到'f'.这是可以理解的.

c++ friend

6
推荐指数
1
解决办法
181
查看次数