问题列表 - 第23940页

Qt无证方法setSharable

我迷迷糊糊关于这似乎是存在于所有数据的方法对象,如QList,QQueue,QHash...

我甚至调查到目前为止我可以看到它的源代码,这是

inline void setSharable(bool sharable) {
    if (!sharable) detach(); d->sharable = sharable;
}
Run Code Online (Sandbox Code Playgroud)

qlist.h中(第117行).

但是,它有什么样的影响上QList,QQueue,QHash...?它是否与线程有关(听起来合理)?

感谢您的回答,如果您有实际知识,请回答.

c++ qt copy-on-write qlist

6
推荐指数
2
解决办法
911
查看次数

检索集合的类型

所以我在Java中有以下内容:

private List<SomeType>variable;

// ....variable is instantiated as so ...
variable = new ArrayList<SomeType>();

// there's also a getter
public List<SomeType> getVariable() { /* code */ }
Run Code Online (Sandbox Code Playgroud)

我希望能够做到的是弄清楚这variable是一个以SomeType编程方式的集合 .我在这里读到我可以从方法中确定,getVariable()但有没有办法直接告诉我variable

我已经能够SomeType根据链接中的信息从getter方法中检索.我也成功地检索了周围班级的所有领域,SurroundingClass.getClass().getDeclaredFields()但这并没有告诉我它是List<SomeType>.

编辑:根据bmargulies的反应做以下将实现我想要的:

Field[] fields = SurroundingClass.getDeclaredFields();
/* assuming it is in fields[0] and is a ParameterizedType */
ParameterizedType pt = (ParameterizedType) fields[0].getGenericType(); 
Type[] types = pt.getActualTypeArguments();
/* from types I'm able to see the information …
Run Code Online (Sandbox Code Playgroud)

java generics reflection collections

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

添加UINavigationController作为UIView的子视图

我正在尝试在UINavigationController上显示UILabel.问题是,当我将UILabel添加为UIWindow的子视图时,它不会自动旋转,因为它不是UIViewController的子视图(UIViewController在旋转期间自动处理更新子视图).

这是我使用的层次结构:

  • 的UIWindow
    • 的UILabel
    • UINavigationController的

所以我想我可以使用以下层次结构:

  • 的UIWindow
    • 的UIViewController
      • 的UIView
        • 的UILabel
        • UINavigationController的

这样,标签可以显示在UINavigationController的栏顶部,同时也自动旋转,因为它是UIViewController的子视图.

问题是当我尝试添加UINavigationController作为视图的子视图时:

[myViewController.view addSubview:myNavigationController.view];
Run Code Online (Sandbox Code Playgroud)

它会向下显示20个像素.我猜是因为它认为它需要为状态栏腾出空间.但是,由于UINavigationController被放置在UIView内部,而UIView没有覆盖在状态栏的顶部,因此错误地添加了另外20个像素.换句话说,UINavigationBar的顶部位于屏幕的40像素标记处而不是20像素处.

有没有简单的方法可以将UINavigationController及其所有元素(例如导航栏,工具栏,根视图控制器)移动20像素?或者让它知道它不应该补偿状态栏?

如果没有,我想我需要使用上面提到的第一个层次结构,并弄清楚如何旋转标签,使其与导航栏的旋转一致.我在哪里可以找到有关如何执行此操作的更多信息?

注意:通过"在导航栏顶部显示标签",我的意思是它应该叠加在导航栏的顶部...它不能简单地包裹在一个条形按钮项目中并作为其中一个项目放置导航栏.

cocoa-touch subview uiviewcontroller uiview uinavigationcontroller

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

对于null参数,抛出异常与检查null

如果参数为null(例如if(a为null)抛出新的ArgumentNullException()),则抛出异常的因素是什么,而不是事先检查参数是否为null.

我不明白为什么应该抛出异常而不是首先检查null?抛出异常方法有什么好处?

这适用于C#/ .NET

谢谢

.net c# ado.net exception

5
推荐指数
2
解决办法
3144
查看次数

PHP PDO如何在内部工作?

我想在我的应用程序中使用pdo,但在此之前我想了解内部PDOStatement->fetch和内部 PDOStatement->fetchAll.

对于我的应用程序,我想做类似"SELECT*FROM myTable"的操作并插入到csv文件中,它有大约90000行数据.

我的问题是,如果我使用PDOStatement->fetch它,因为我在这里使用它:

// First, prepare the statement, using placeholders
$query = "SELECT * FROM tableName";
$stmt = $this->connection->prepare($query);

// Execute the statement
$stmt->execute();
var_dump($stmt->fetch(PDO::FETCH_ASSOC));

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
{
echo "Hi";
// Export every row to a file
fputcsv($data, $row);
}
Run Code Online (Sandbox Code Playgroud)

每次从数据库中获取后,该获取的结果是否会存储在内存中?

当我进行第二次获取时,内存将具有第一次获取的数据以及第二次获取的数据.

因此,如果我有90000行数据,并且如果每次都进行提取而不是更新内存以获取新的提取结果而不删除先前提取的结果,那么对于最后一次提取内存将已经有89999行数据.

  1. PDOStatement::fetch 有效吗?
  2. 性能明智如何与此相抗衡PDOStatement::fetchAll

更新:从内存使用的角度来看有关fetch和fetchAll的内容

只是想在这个问题上添加一些东西,因为最近发现了一些关于fetch和fetchAll的东西,希望这会使这个问题值得人们将来访问这个问题以获得对fetch和fetchAll参数的一些理解.

fetch不会在内存中存储信息并且它在行到行的基础上工作,因此它将通过结果集并返回第1行,而不是再次返回到结果集,而不是再次返回第2行,它将不会返回第1行和第2行但只返回第2行,因此fetch不会将任何内容存储到内存中,但fetchAll会将详细信息存储到内存中.因此,如果我们处理大小约为100K的结果集,那么fetch与fetchAll相比是更好的选择.

php pdo

11
推荐指数
1
解决办法
1584
查看次数

依赖注入:良好的老式重构有什么问题?

DI创建了一个额外的抽象层,这样如果您的实现类发生了变化,您只需使用相同的接口插入另一个类即可.

但是,当您想要使用不同的实现类时,为什么不简单地重构?像Python和Ruby这样的其他语言也很好用.为什么不用Java?

java refactoring dependency-injection

4
推荐指数
1
解决办法
500
查看次数

如何检查浏览器是否在MAC上运行?

如标题所述.

我需要查看访问我的页面的机器是MAC还是其他东西

javascript jquery

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

如何编组指向结构指针数组的指针?

我有一个带有以下签名的C函数:

int my_function(int n, struct player **players)
Run Code Online (Sandbox Code Playgroud)

players是指向struct player对象指针数组的指针. n是数组中指针的数量.该函数不修改数组也不修改结构的内容,并且在返回后不保留任何指针.

我尝试了以下方法:

[DllImport("mylibary.dll")]
static extern int my_function(int n, 
    [In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] 
     player_in []players);
Run Code Online (Sandbox Code Playgroud)

但是,它将数据编组为指向结构数组的指针,而不是指向结构指针数组的指针.

.net c# pinvoke interop marshalling

11
推荐指数
1
解决办法
5769
查看次数

使用lsof查找单个打开文件的最快方法是什么?

我正在尝试使用lsof打开单个文件.有比这更快的方法吗?

$result = exec('lsof | grep filename | wc -l');

if($result > 0) {
    //file is open
}
Run Code Online (Sandbox Code Playgroud)

我认为如果你知道文件名,他们必须是一种只测试一个文件的方法.我真正需要的只是真或假.

php linux file lsof

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

对于不是从0开始的缓冲区,GetBytes是否有一种不太痛苦的方法?

我不得不处理项目中的原始字节,我需要基本上做这样的事情

byte[] ToBytes(){
  byte[] buffer=new byte[somelength];
  byte[] tmp;
  tmp=BitConverter.GetBytes(SomeShort);
  buffer[0]=tmp[0];
  buffer[1]=tmp[1];
  tmp=BitConverter.GetBytes(SomeOtherShort);
  buffer[2]=tmp[0];
  buffer[3]=tmp[1];
}
Run Code Online (Sandbox Code Playgroud)

我觉得这是错的,但我找不到更好的办法.有没有更简单的方法?

c# bytearray bitconverter

4
推荐指数
1
解决办法
1996
查看次数