小编kam*_*soc的帖子

使用RxSwift观察Swift 3中的数组

RxSwift在Swift 2中创建一个可观察的数组,我用它来做:

[1, 2, 3].toObservable().subscribeNext { print($0) }
Run Code Online (Sandbox Code Playgroud)

但是在Swift 3中,它不再起作用了,我收到了这个错误:

类型'[Int]'的值没有成员'toObservable'

如何RxSwift从swift数组创建一个可观察的数组?

ios swift rx-swift reactivex

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

我如何在svn中使用别名命令?

我想svn在macOS系统中为命令添加一些别名.例如:

svn ci "Some message" // equal to svn commit -m "Some message"
svn addall // equal to svn add --force * --auto-props --parents --depth infinity -q
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能做到这一点?

我是svn中的新手,之前我使用过git,所有别名都是在.gitconfig文件中创建的.这有可能以同样的方式进行svn吗?

UPDATE

关于此答案,在~/.subversion/config文件中添加以下行后:

alias ciam = "commit -m" 

[alias]
ciam = commit -m
Run Code Online (Sandbox Code Playgroud)

命令:

svn ciam 
Run Code Online (Sandbox Code Playgroud)

还是行不通.

是否有可能定义svn别名?

svn macos version-control

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

如何设置Xamarin Picker中项目的字体大小?

我尝试在我的Android应用程序中更改Xamarin.Picker中的项目字体大小.在我的项目中,我使用BindablePicker继承自Picker类的东西.来源于.

在此输入图像描述

我花了一些时间做研究,我发现我应该创建一个PickerRenderer类并渲染Picker.

我的渲染器类:

public class BindablePickerRenderer : PickerRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
    {
        base.OnElementChanged(e);

        var picker = e.NewElement;
        BindablePicker bp = (BindablePicker)this.Element;

        if (this.Control != null)
        {
            var pickerStyle = new Style(typeof(BindablePicker))
            {

                Setters =
                {
                    new Setter { Property = VisualElement.BackgroundColorProperty, Value = Color.Red }

                }
            };
            picker.Style = pickerStyle;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

出于测试目的,我设置了backgroundColor Picker,它工作正常.但是,在我的PickerRenderer班级中,我只能访问Control属性类型的属性Android.Widget.EditText.

效果:

在此输入图像描述

如何访问Picker项目并为其设置字体大小?这可能吗?

这是我的一个示例项目的存储库.

https://github.com/k8mil/PickerRendererXamarin

相关链接

https://developer.xamarin.com/api/type/Xamarin.Forms.Picker/ …

fonts android xamarin.android xamarin xamarin.forms

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

Swift 3函数命名约定

Swift 3中的函数命名约定让我有些困惑

我仔细研究了Swift 3 Guidelines,发现方法命名约定应如下所示:

func move(from start: Point, to end: Point)
x.move(from: x, to: y)
Run Code Online (Sandbox Code Playgroud)

但...

如果我看一下我找到的UINavigationController方法pushViewControllerpresentViewController方法。方法调用如下所示:

navigationController?.pushViewController(viewController, animated: true)
navigationController?.present(controller, animated: true)
Run Code Online (Sandbox Code Playgroud)

在这里,我想知道为什么pushViewController方法调用不像Swift3那样。以及为什么这两种方法之间存在不一致。根据指导,我认为该push方法应如下所示:

rootNavigationController?.push(viewController, animated: true)
Run Code Online (Sandbox Code Playgroud)

那就更像Swift 3了。

让我们考虑一个简单的示例:

//1
func saveName(_ name : String) {}
saveName("John")

//2
func save(_ name: String){}
save("John")

//3
func save(name: String){}
save(name: "John")
Run Code Online (Sandbox Code Playgroud)

在我看来,我认为选项3最适合Swift 3指南。但是另一方面,由于我的示例使用pushViewControllerpresent(controller)方法,所以选项1也很好。

所以我的问题是:

哪一个最适合《 Swift 3指南》的最佳选择?

更新

由于@Sweeper的回答,它解决了为什么pushpresent方法之间存在不一致的问题。

资料来源:

https://github.com/raywenderlich/swift-style-guide

https://swift.org/documentation/api-design-guidelines/#parameter-names

coding-style ios swift swift3

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

如何从`MoyaError`获取错误statusCode?

我正在使用a Moya,Moya_ModelMapperRxSwift执行网络请求.这是我的示例代码:

let provider = RxMoyaProvider<MyEndpoint>()
let observable: Observable<RegistrationResponse> = provider.request(.register(firstName: "", lastName: "", email: "", password: "")).mapObject(type: RegistrationResponse.self)
observable.subscribe {
    [weak self] (event: Event<RegistrationResponse>) in
    switch event {
    case .next(let response):
        print(response)
    case .error(let error):
        print(error)
    case .completed:
        break
    }
}
Run Code Online (Sandbox Code Playgroud)

一切正常,但我不知道如何409从服务器收到例如状态代码响应类型时获取错误代码.如果我打印错误,我会得到:

jsonMapping(Status Code: 409, Data Length: 0)

但我不知道如何通过代码获取此状态代码.错误是MoyaErrorEnum类型.这是MoyaError 的源代码.

谢谢!

ios swift alamofire rx-swift moya

3
推荐指数
2
解决办法
3307
查看次数

Swift - 如何更改accessoryType(disclosureIndicator)的颜色?

accessoryType对细胞有疑问.我正在使用带有disclosureIndicatoras 的单元格,accessoryType我想改变它的颜色,但我不能.有谁知道这是一个错误还是Apple迫使我使用灰色?其实我可以改变其他的颜色accessoryType.

我的代码看起来像这样:

let cell = tableView.dequeueReusableCell(withIdentifier: "identifier", for: indexPath) as! customCell
cell.tintColor = UIColor.red
cell.accessoryType = .disclosureIndicator
Run Code Online (Sandbox Code Playgroud)

而我的箭仍然是灰色的.但如果我使用复选标记,accessoryType它会变成红色.

有没有办法解决这个问题,还是我必须使用彩色图像?

cell tableview ios swift

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