小编Lar*_*erg的帖子

如何使用值初始化Kotlin中的数组?

在Java中,可以初始化数组,例如:

int numbers[] = new int[] {10, 20, 30, 40, 50}
Run Code Online (Sandbox Code Playgroud)

Kotlin的阵列初始化如何?

arrays kotlin

222
推荐指数
8
解决办法
16万
查看次数

如何使类符合Swift中的协议?

在Objective-C中:

@interface CustomDataSource : NSObject <UITableViewDataSource>

@end
Run Code Online (Sandbox Code Playgroud)

在斯威夫特:

class CustomDataSource : UITableViewDataSource {

}
Run Code Online (Sandbox Code Playgroud)

但是,将出现一条错误消息:

  1. 类型'CellDatasDataSource'不符合协议'NSObjectProtocol'
  2. 类型'CellDatasDataSource'不符合协议'UITableViewDataSource'

什么应该是正确的方法?

objective-c swift

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

iPhone平滑的草图绘制算法

我正在开发iPhone上的草图应用程序.我得到了它的工作,但不是在这里看到的漂亮 在此输入图像描述

我正在寻找任何平滑绘图的建议基本上,我所做的是当用户将手指放在我调用的屏幕上时

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
Run Code Online (Sandbox Code Playgroud)

然后我收集一个阵列中的单个触摸

- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
Run Code Online (Sandbox Code Playgroud)

当用户从屏幕上拿出一根手指时,我打了个电话

- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
Run Code Online (Sandbox Code Playgroud)

然后我用数字绘制数组中的所有点

NSMutableArray *points = [collectedArray points];   

CGPoint firstPoint;
[[points objectAtIndex:0] getValue:&firstPoint];

CGContextMoveToPoint(context, firstPoint.x, firstPoint.y);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineJoin(context, kCGLineJoinRound);

for (int i=1; i < [points count]; i++) {
    NSValue *value = [points objectAtIndex:i];
    CGPoint point;
    [value getValue:&point];    
    CGContextAddLineToPoint(context, point.x, point.y);

} 

CGContextStrokePath(context);
UIGraphicsPushContext(context);
Run Code Online (Sandbox Code Playgroud)

而现在我想改进绘图更像是"Sketch Book"App 在此输入图像描述

我认为与信号处理算法有关,要重新排列阵列中的所有点,但我不确定.任何帮助将非常感激.

提前谢谢:)

iphone drawing quartz-graphics ios

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

46
推荐指数
4
解决办法
3万
查看次数

如何比较Kotlin中的两个数组?

给出了Kotlin中的一些数组

let a = arrayOf("first", "second")
val b = arrayOf("first", "second")
val c = arrayOf("1st", "2nd")
Run Code Online (Sandbox Code Playgroud)

是否存在Kotlin std-lib的内置函数,它们为每个元素测试两个数组的(值)相等性?

从而导致:

a.equals(b) // true
a.equals(c) // false
Run Code Online (Sandbox Code Playgroud)

equals()实际上false在这两种情况下都会返回,但也许Kotlin可以使用内置函数?

有静态函数java.utils.Arrays.deepEquals(a.toTypedArray(), b.toTypedArray())但我更喜欢实例方法,因为它可以更好地与选项一起使用.

arrays equals kotlin

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

iOS Autolayout - 未在viewDidLayoutSubviews中设置帧大小

我正在使用Autolayout在iOS 8的键盘上工作,将按钮放在视图上.
当我使用约束更改布局时,一切都在屏幕上正确显示,但是当我想知道视图的帧大小时,我得不到合适的大小.

例如:我按一个键,键盘布局会根据我的约束更改并布局所有内容.然后我想知道屏幕上任何按钮的大小 - 我在"viewDidLayoutSubviews"中执行此操作并在控制台中获得该结果:

2014-10-29 12:27:09.088 Keyboard[2193:60674] view did layout subviews
2014-10-29 12:27:09.088 Keyboard[2193:60674] {{inf, inf}, {0, 0}}
Run Code Online (Sandbox Code Playgroud)

按钮具有正确的大小和正确的位置,但在尝试获取其框架时,未设置大小.

当我的代码在viewDidLayoutSubviews中不起作用时,我必须在哪里放置代码?

我在stackoverflow和其他网站上发现了很多问题,但没有一个问题涉及我的问题.

iphone xcode ios autolayout

18
推荐指数
2
解决办法
7168
查看次数

如何列出当前git托管代码库中的所有TODO消息

我想看到所有TODO评论,只有我写的并且存在于当前代码库中,这是git托管的.

到目前为止我所做的是打印我在完整的git历史记录中创建或修改的所有TODO注释:git log -p --author="My name" -S TODO | grep "\+.*TODO"

但是这个工具链列出了所有写过的TODO评论,甚至是那些我已经解决并因此从代码中再次删除的评论.

有没有一个工具可以逐行搜索当前的代码库,检查它是否包含"TODO",如果这行是由我创作然后打印这些行?

git text-search todo git-commit

17
推荐指数
3
解决办法
4416
查看次数

使用 vite/esbuild 缓存转换后的节点模块

vite build 用于esbuild将包依赖项(节点模块)以及应用程序源代码转换为目标 JavaScript 规范,即es2015.

我观察到vite/每次运行esbuild时都会重新转换整个源。./node_modulesvite build

如何使用此构建堆栈来保留和重用之前转换的文件,至少对于整个./node_modules文件夹(假设依赖关系当然没有改变),以便后续vite build命令调用运行速度显着加快?

caching esbuild vite

13
推荐指数
0
解决办法
1663
查看次数

如何更改tvOS系统卷

在iOS上,我们可以使用MPVolumeView来更改系统音量,但它在tvOS上不可用.

是否有任何API可以让我们更改tvOS的系统音量?

volume mpvolumeview tvos

12
推荐指数
1
解决办法
372
查看次数

使用简短表示法时如何在匿名侦听器中引用"this"?

在Kotlin中,有没有办法在匿名类中使用这个简短表示法时引用侦听器实例?在这种情况下,this引用外部上下文(例如Activity实例)view定义:

view.setOnClickListener {
    val self: View.OnClickListener = this // Not compiling, "this" references outer context
}
Run Code Online (Sandbox Code Playgroud)

当使用较长的表示法时,您明确声明要实现的接口以及显式覆盖回调方法的位置,可以通过this以下方式引用侦听器:

view.setOnClickListener(object: View.OnClickListener {
    override fun onClick(v: View) {
        val self: View.OnClickListener = this // Ok
    }
})
Run Code Online (Sandbox Code Playgroud)

kotlin

11
推荐指数
2
解决办法
2135
查看次数