小编dh0*_*lxm的帖子

rxswift bind(onNext:VS subscription(onNext:

我有两个问题:

  1. 'bind(onNext:')和'subscribe(onNext:')之间有什么区别?
struct Info {
    var index: Int?
    var data: String?
}

let infoData: BehaviorRelay<Info> = BehaviorRelay<Info>(value: Info())
var osInfo: Observable<String> { return self.infoData.map({ return $0.data }).distinctUntilChanged() }

osInfo.bind { (target) in
    print("bind!")
    }.disposed(by: self.disposeBag)

osInfo.subscribe { (target) in
    print("subscribe!")
    }
    .disposed(by: self.disposeBag)
Run Code Online (Sandbox Code Playgroud)
  1. a没有asObservable(),但是可执行性很好。a和b的区别是什么?
a. var osInfo: Observable<String> { return self.infoData.map({ return $0.data }).distinctUntilChanged() }
b. var osInfo: Observable<String> { return self.infoData.asObservable().map({ return $0.data }).distinctUntilChanged() }

Run Code Online (Sandbox Code Playgroud)

rx-swift rx-cocoa

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

具有关联类型的返回协议

如何返回具有关联类型的协议?

protocol AProtocol {

}

class A: AProtocol {

}

class Main {
    func sendA() -> AProtocol {
        return A()
    }
}
Run Code Online (Sandbox Code Playgroud)

有用。

protocol BProtocol {
    associatedtype B
}

class B: BProtocol {
    typealias B = Int
}

class Main {
    func sendA() -> AProtocol {
        return A()
    }

    func sendB() -> BProtocol { // error
        return B()
    }

// function1
    func sendB_<T: BProtocol>() -> T{
        return B() as! T
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在函数 1 中返回 'return B()' 有可能吗?

generics protocols ios swift

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

Apple 登录自定义按钮

我将在我的应用程序中应用Apple登录服务。所以我使用了 ASAuthorizationAppleIDButton。

但是因为这个按钮的文字大小(大约18 ~ 19字体)太大(按钮高度是48),我选择在这个页面使用自定义的Apple登录按钮(左对齐徽标按钮

在我的自定义 Apple 登录按钮中,我可以将文本大小设置为 15pt 字体吗?(比 ASAuthorizationAppleIDButton 文本大小小一点)

苹果商店审核有问题吗?

ios swift

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

Firebase Crashlytics 调试模式不在 ios 中发送报告

在 swift 中,如何仅发送崩溃报告发布模式?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

#if DEBUG
    Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(false)
#endif

    return true
}
Run Code Online (Sandbox Code Playgroud)

这样对吗?(https://firebase.google.com/docs/crashlytics/customize-crash-reports

ios swift firebase-crash-reporting

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