小编Eug*_*ene的帖子

当我在FlowableOnSubscribe类中调用onNext时,我的订阅者的onNext和onComplete函数不会运行

在使用RxJava 2的Android项目中,我FlowableonCreate我的初始活动中创建了这样的:

Flowable.create(new MyFlowableOnSubscribe1(), BackpressureStrategy.BUFFER)
        .doOnComplete(new MyAction())
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(new MySubscriber());
Run Code Online (Sandbox Code Playgroud)

FlowableOnSubscribe的实现是:

public class MyFlowableOnSubscribe1 implements FlowableOnSubscribe<String> {
    public static final String TAG = "XX MyFlOnSub1";

    @Override
    public void subscribe(FlowableEmitter<String> emitter) {
        Log.i(TAG, "subscribe");

        emitter.onNext("hello");
        emitter.onComplete();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是订户实施:

public class MySubscriber implements Subscriber<String> {
    public static final String TAG = "XX MySubscriber";

    @Override
    public void onSubscribe(Subscription s) {
        Log.i(TAG, "onSubscribe");
    }

    @Override
    public void onComplete() {
        Log.i(TAG, "onComplete");
    }

    @Override
    public void onError(Throwable e) { …
Run Code Online (Sandbox Code Playgroud)

java android rx-java rx-android

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

如何访问 CryptoKit 中 SymmetricKey 的底层密钥?

我在 Xcode 11.0 beta 2 上使用 Apple 的新CryptoKit框架。我想创建一个SymmetricKey,然后获取密钥的原始字节。我想使用这些字节来创建相同的密钥,然后检查以确保密钥相等。根据我在文档中的理解,访问密钥原始字节的唯一方法是使用withUnsafeBytes(_:)方法。我有一个带有以下代码的游乐场:

import Foundation
import CryptoKit

let key1 = SymmetricKey(size: .bits256)
key1.withUnsafeBytes { body in
  let rawKeyBytes = body.load(as: Data.self)
  let key2 = SymmetricKey(data: rawKeyBytes)
  print("Are they equal? \(key1 == key2)")
}
Run Code Online (Sandbox Code Playgroud)

这个的输出是Are they equal? false,所以不幸的是键不匹配。假设我可以让这些键匹配,我也不确定如何转换rawKeyBytes为字符串以便在我的 Playground 输出中查看它。总的来说,我只是不是很熟悉UnsafeRawBufferPointerContiguousBytes

swift apple-cryptokit

5
推荐指数
4
解决办法
1890
查看次数

如何在 Jetpack Compose Column 中指定子项之间的确切间距?

我正在尝试在 Jetpack Compose 中创建一个列,每个子元素之间具有特定的间距,例如 10.dp。在 SwiftUI 中,这相对简单。我只想创建一个VStack具有spacing价值的:

struct ContentView: View {
    let strings = ["Hello", "World", "Apples"]

    var body: some View {
        VStack(spacing: 10) {
            ForEach(strings, id: \.self) { string in
                Text(string).background(Color.green)
            }
        }
        .background(Color.blue)
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Run Code Online (Sandbox Code Playgroud)

这是 SwiftUI 预览版中的样子:

在此处输入图片说明

在 Jetpack Compose 中,我的代码是:

@Composable
fun ContentView() {
    val strings = listOf<String>("Hello", "World", "Apples")

    MaterialTheme {
        Surface(color = MaterialTheme.colors.background) {
            Column(
                modifier = …
Run Code Online (Sandbox Code Playgroud)

android-jetpack-compose

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

无论文本长度如何,如何让 SwiftUI 文本视图显示两行?

我想创建一个显示两行内容的文本视图,如果文本太多,要么截掉剩余的文本,要么在文本不够长甚至是空的情况下只显示一两行空行细绳。这是目前可能的吗?我可以创建自己的 Text 视图,以某种方式表现出这种行为吗?

ios swiftui

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

如何在表单部分中的 SwiftUI 文本视图中显示多行?

我正在尝试在表单内的部分内的文本视图中显示一长串文本,但文本在第一行带有椭圆 (...) 之后一直被截断。我已经尝试了两者Text("Text here").lineLimit(10)Text("Text here").lineLimit(nil)但似乎都不起作用。

import SwiftUI

struct NoteInfo: View {

  var body: some View {
    NavigationView {
      Form {
        Section {
          Text("Hello world we have a very long string that will be truncated here")
            .lineLimit(10)
        }

      }
      .listStyle(GroupedListStyle())
      .navigationBarTitle(Text("Note Info"), displayMode: .inline)
    }
  }

}
Run Code Online (Sandbox Code Playgroud)

swiftui

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