小编Nol*_*Amy的帖子

Sublime Text:选择变量的所有实例并编辑变量名称

我是Sublime的新手,我刚刚发现,如果我在代码中选择一个变量(不仅仅是任何字符串),该变量的所有其他实例都会在它们周围得到一个笔划(白色轮廓):

在此输入图像描述

是否有键盘快捷键可以让我选择变量的所有实例并一次编辑它们?


我试过的事情:

使用D,KU让我逐个选择它们,但我必须手动排除非变量字符串匹配:

在此输入图像描述

使用CtrlG只需选择所有字符串匹配:

在此输入图像描述

显然,Sublime能够区分变量匹配和字符串匹配.有没有办法只选择变量匹配?

keyboard-shortcuts key-bindings sublimetext sublimetext2 sublimetext3

413
推荐指数
8
解决办法
23万
查看次数

使用Http Post发送图像

我想使用Http Post将图像从android客户端发送到Django服务器.图像从图库中选择.目前,我使用列表值名称Pairs将必要的数据发送到服务器并从JSON接收来自Django的响应.是否可以将相同的方法用于图像(使用嵌入在JSON响应中的图像的URL)?

此外,这是一种更好的方法:远程访问图像而无需从服务器下载图像或下载并将其存储在Bitmap数组中并在本地使用它们?图像数量很少(<10)且尺寸较小(50*50倾角).

任何解决这些问题的教程都将非常感激.

编辑:从库中选择的图像在将其缩放到所需大小后发送到服务器.

django android http

126
推荐指数
4
解决办法
14万
查看次数

从SQLite命令行shell中打开数据库文件

我正在使用SQLite命令行Shell.如文档所述,我可以通过将其作为可执行文件的参数提供来打开数据库:

sqlite3 data.db
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何在调用它之后从工具中打开数据库文件而不将该文件作为命令行参数提供(如果我在Windows中双击sqlite3.exe).SQLite shell工具中用于指定数据库文件的命令是什么?

sqlite

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

调整CATextLayer的大小以适合iOS上的文本

到目前为止,我的所有研究似乎表明不可能准确地做到这一点.我在一开始就可以选择的唯一两个选项是:

a)使用CATextLayer的布局管理器 - 从4.0版开始在iOS上不可用

b)使用sizeWithFont:constrainedToSize:lineBreakMode:并根据此处返回的大小调整CATextLayer的帧.

选项(b)是最简单的方法,应该有效.毕竟,它与UILabels完美配合.但是当我将相同的帧计算应用于CATextLayer时,框架总是比预期或需要的要大一些.

事实证明,CATextLayers和UILabels中的行间距(对于相同的字体和大小)是不同的.因此,sizeWithFont(其行间距计算将与UILabels的行间距计算匹配)不会返回CATextLayers的预期大小.

通过使用UILabel打印相同的文本,与CATextLayer相比,并比较结果,进一步证明了这一点.第一行中的文本完全重叠(它是相同的字体),但CATextLayer中的行间距比UILabel略短.(对不起,我现在无法上传截图,因为我已经包含机密数据,我目前没有时间制作一个示例项目来获取干净的截图.我稍后会为后人上传它们,当时我有时间)

这是一个奇怪的区别,但我认为可以通过为我在那里使用的NSAttributedString指定适当的属性来调整CATextLayer中的间距,但似乎并非如此.查看CFStringAttributes.h我找不到可能与行间距相关的单个属性.

底线:

因此,在需要适合其文本的图层的情况下,似乎无法在iOS上使用CATextLayer.我是对的,还是我错过了什么?

PS:

  1. 我想使用CATextLayer和NSAttributedString的原因是因为要显示的字符串在不同点上的颜色不同.我想我必须一如既往地回去手工绘制字符串......当然总是可以选择从sizeWithFont中获取结果以获得正确的行高.

  2. 滥用"代码"标签稍微有点使帖子更具可读性.

  3. 我无法使用'CATextLayer'标记帖子 - 令人惊讶的是目前还没有这样的标签.如果有足够声誉的人碰到这篇文章,请相应标记.

sizewithfont ios4 catextlayer

21
推荐指数
1
解决办法
9315
查看次数

合并具有相同模型的两个has_many关联的结果

我有用户.用户可以戳戳其他用户,也可以戳自己.每个戳都是方向性的,并且不存在组戳.我想列出给定用户的所有戳(传入或传出),而不重复自我戳(作为incoming_和outgoing_pokes存在).

这是我的模特:

class User < ActiveRecord::Base
  has_many :outgoing_pokes, :class_name => "Poke", :foreign_key => :poker_id
  has_many :incoming_pokes, :class_name => "Poke", :foreign_key => :pokee_id
end

class Poke < ActiveRecord::Base
  belongs_to :poker, :class_name => "User"
  belongs_to :pokee, :class_name => "User"
end
Run Code Online (Sandbox Code Playgroud)

我尝试在User模型中创建一个合并戳的方法:

def all_pokes
  outgoing_pokes.merge(incoming_pokes)
end
Run Code Online (Sandbox Code Playgroud)

但是它只返回自我戳(那些是incoming_和outgoing_pokes).想法?是否有一种干净的方法直接使用关联?

此外,在合并列表中,每个poke都有两个布尔值可以记录它们与当前用户的关系.像outgoing和的东西incoming.

ruby-on-rails

10
推荐指数
2
解决办法
7507
查看次数

android:versionName 是否必须是数字(形式为 0.0.0 等)?

我尝试android:versionName=">0.3"在我的AndroidManifest.xml文件中使用(作为对自己的说明,以便在下一个版本中使用它),但 NDK 不喜欢它:

Invalid attribute name: 
C:/Android/android-ndk-r8d/build/gmsl/__gmsl:512: *** non-numeric second argument to `wordlist' function: ''.  Stop.
Run Code Online (Sandbox Code Playgroud)

然而,文档似乎表明我可以versionName随心所欲:

android:versionName

向用户显示的版本号。此属性可以设置为原始字符串或对字符串资源的引用。除了向用户显示之外,该字符串没有其他用途。versionCode属性包含内部使用的重要版本号。

android android-ndk android-manifest

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

无法使用在 iOS 中共同编写的 Kotlin 扩展函数作为 Swift 扩展

我有一个 Kotlin Multiplatform 项目设置,带有适用于 iOS 的 Android 和 cocoapods。

我有一个文件Extensions.ktcommonMain/src具有以下功能:

fun String.isValidEmail(): Boolean {
    return validate(ValidatorRegex.EMAIL)
}
Run Code Online (Sandbox Code Playgroud)

我可以在 Android 中访问此功能作为String扩展:

"abcd@gmail.com".isValidEmail()
Run Code Online (Sandbox Code Playgroud)

但是在使用 Swift 的 iOS 中,我需要将它作为另一个类的静态方法来调用:

ExtensionsKt.isValidEmail("abcd@gmail.com")
Run Code Online (Sandbox Code Playgroud)

它应该将该commonMain/src方法转换为 Swift 扩展String而不是具有静态方法的类。

我缺少任何配置吗?

extension-methods ios kotlin swift kotlin-multiplatform

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

QSqlQuery准备好的语句 - 正确用法

我正在尝试确定使用QSqlQuery准备好的语句的正确方法.文档在这个问题上并不十分具体.

void select(const QSqlDatabase &database) {
    QSqlQuery query(database);
    query.prepare("SELECT * FROM theUniverse WHERE planet = :planet");
    query.bindValue(":planet", "earth");
    query.exec();
}
Run Code Online (Sandbox Code Playgroud)

那么这段代码会在连接中创建一个永久性的预备语句database吗?这个准备好的语句是否会在调用之间持续存在select(),即它会在函数返回并被释放时保存QSqlQuery query吗?

或者我应该在堆上创建QSqlQuery并反复使用相同的实例?

sql qt prepared-statement

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

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