小编Tys*_*son的帖子

iOS7键盘返回/完成/搜索色调颜色

使用新的iOS7 UIView色调,可以快速主题化整个应用程序.它甚至在编辑UITextFields时会改变文本插入符的颜色.

但是,键盘右下方的"关闭"按钮(可以是"完成","搜索"等)始终为蓝色.有没有办法改变这个?如果它与应用程序其余部分的色调相匹配,那将会非常好看.

iOS7 UISearchBar键盘

objective-c uikeyboard ios ios7

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

为什么计时器线程上的未处理异常不会导致进程崩溃

我知道在使用Tasks 时如何处理无法处理的异常,如果用户代码尚未"观察"它,则仅在终结器中抛出未处理的异常.

我也知道如何Action.BeginInvoke()在加入调用中捕获并重新抛出异步线程(例如)中的未处理异常(例如Action.EndInvoke()).

我不明白的是,这不会导致这个过程崩溃的原因是什么?

    static void Main(string[] args)
    {
        var timer = new System.Timers.Timer() {Interval = 100};
        timer.Elapsed += (o, e) => { throw new Exception(); };
        timer.Start();

        Console.ReadKey( true );
    }
Run Code Online (Sandbox Code Playgroud)

.net multithreading asynchronous unhandled-exception c#-4.0

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

没有最终订阅者的"中间IObservable"会在根IObservable的生命周期内保留在内存中

例如,考虑一下:

    public IDisposable Subscribe<T>(IObserver<T> observer)
    {
        return eventStream.Where(e => e is T).Cast<T>().Subscribe(observer);
    }
Run Code Online (Sandbox Code Playgroud)

eventStream是一个长期存在的事件来源.一个短命的客户端将使用此方法订阅一段时间,然后通过调用Dispose返回来取消订阅IDisposable.

然而,虽然eventStream仍然存在并且应该保存在内存中,但是已经有2个新IObservables方法由此方法创建 - 由方法返回的Where()方法可能由内存保存在内存中eventStream,并且方法返回的方法可能保留在内存Cast<T>()中内存由Where()方法返回的内存.

这些'中间IObservables'(它们有更好的名字吗?)将如何清理?或者它们现在是否会存在,eventStream即使它们不再有订阅而没有其他人引用它们除了它们的来源IObservable,因此永远不会再有订阅?

如果他们通过告知他们的父母他们不再有订阅来清理他们,他们怎么知道没有其他人参考他们并且可能在某些时候后来订阅他们?

.net c# idisposable system.reactive

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

如何使用用户友好的客户端密码实现强大的服务器端帐户密码

我要求允许用户在单个设备上使用4+数字引脚式密码.显然,这是一个不好的密码,可以直接用于保护他们的服务器端帐户,因此我想将此PIN"锁定"到特定设备,以便某人必须同时拥有PIN和设备才能登录,以及获取访问权限的位置.设备无法访问PIN.此外,他们已经拥有更常规的用户名/密码登录,并且通过在设备上注册,他们正在为此现有帐户添加一组新的登录凭据.所以这是我目前的计划:

  1. 在本地设备注册过程中,本地生成强密码.
  2. 将此生成的强密码作为服务器端设备特定帐户密码发送到服务器.
  3. 使用提供的4位数密码对本地对称加密强生成的密码.
  4. 将此加密的强密码存储在本地设备上.
  5. 在该设备上的后续登录期间,用户提供相同的4位数密码,用于解密先前存储的强密码,并将强密码发送到服务器以进行登录.

所以我相信这实现了强大的服务器端密码要求.但是,我还需要在注册过程之后尽可能地保护自己能够抵御受到破坏的客户端设备(在注册过程之前/期间受损的设备是丢失的原因).显然,使用4位加密密钥,只有10,000种可能的组合,因此攻击者可以很容易地快速尝试本地加密的强密码的每种组合.我想知道的是,我是否必须选择特定的对称加密方案和/或生成的密码格式,以便攻击者无法单独从本地数据中分辨出哪些10k解密尝试是正确的?即他仍然必须在服务器端登录时尝试每个10k密码.

此外,这种方法或实现这些要求的更标准方法是否存在明显错误?如果有标准方法,是否有针对此方法的标准.NET库?

.net security encryption

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

是否可以在.NET中具有两个不同名称的相同属性

我在类中有一个属性:

public int ProductID {get;set;}
Run Code Online (Sandbox Code Playgroud)

是否有可能在.NET中为此属性创建一些"别名",比如给它另一个名称,如' Product_Id'?

所以稍后我可以使用以下方法设置此属性:

obj.ProductID = 555;
Run Code Online (Sandbox Code Playgroud)

obj.Product_Id = 666;
Run Code Online (Sandbox Code Playgroud)

.net c#

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

将ServiceStack请求转发给其他服务处理程序

我要求让一个服务处理请求,将其转换为其他请求,将该请求传递给内部服务,获取响应,然后将其转换回外部服务响应.有些代码可能会更好地解释它.这就是我所做的:

public class InviteUserService : Service, IPost<Invitee>
{
    public RegistrationService RegistrationService { get; set; }

    public object Post(Invitee invitee)
    {
        // Do other invitation related work that is part of my domain.

        var registration = invitee.TranslateTo<Registration>();
        registration.UserName = invitee.EmailAddress;
        registration.Email = invitee.EmailAddress;

        // It previously threw a null ref exception until I added this.
        RegistrationService.RequestContext = RequestContext;

        var response = RegistrationService.Post(registration);
        if (response is RegistrationResponse)
        {
            var inviteeResponse = response.TranslateTo<InviteeResponse>();
            return inviteeResponse;
        }
        // Else it is probably an error …
Run Code Online (Sandbox Code Playgroud)

.net servicestack

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

Git远程跟踪分支与本地分支不同,具有相同的提交和不同的SHA

这是我的git repo的当前状态(在GitX中可视化).

分散的git历史

'34e ...'和'c3d ...'提交('实施全球......'评论的)是IDENTICAL.我用git diff证实了这一点,他们甚至有相同的提交时间!唯一的区别是他们的SHA.

我不知道我是如何让我的回购进入这种状态的.虽然我不是git pro,但我已经使用了一段时间了,并且对所有基础知识都非常熟悉.这是突然发生的,我没有试验过我以前没用过的任何git功能或工作流程,所以我很困惑.

没有其他人向遥控器提交过任何东西,所以我可以在那里改变历史,但不涉及这个问题的解决方案会更好.

我可以只对master和origin/master进行正常的合并或重组,但我对此感到不舒服,因为历史将显示2个相同的提交.

是否可以签出origin/master,然后将从'a4a ...'开始的所有提交重新命名为origin/master,然后将master切换到这个新的HEAD?(基本上是将'c3d ......'单独挂起,这与它的欺骗无关)

1)那么解决这个问题的首选方法是什么?
2)有任何想法如何发生?以前有人见过吗?

编辑:
git diff c3db784817 34e1ab666a:什么都没输出.

git reflog master:

德尔:MT-d-样式泰森$ GIT中引用日志主
9579294主@ {0}:提交:增加调试只有控制台打印测试图像视图
1155228主@ {1}:提交:添加了新标记接口,定制单元可以imp的
a4ab788主@ {2}:提交:增加了一个新StyledRootElement自动应用
c3db784主@ {3}:承诺:实施的全球技术用于造型所有存在
34e1ab6主@ {4}:承诺:实施的全球技术用于造型所有存在
8519fb1主@ {5}:commit:扩展remove方法,让调用者可以访问
30aeee6 master @ {6}:commit:添加了一个新的工厂方法Side Swipe View con

git reflog origin/master:

德尔:MT-d-样式泰森$ GIT中引用日志原点/主
34e1ab6参/遥控器/来源/主@ {0}:更新通过推
8519fb1参/遥控器/来源/主@ {1}:更新通过推
495e0ef参/遥控器/原点/主@ {2}:更新通过推
c5fec81参/遥控器/来源/主@ {3}:通过推更新
cba1e0f参/遥控器/来源/主@ {4}:通过推更新
9ee1ffb参/遥控器/原点/主@ {5}:更新通过推
68ee429参/遥控器/来源/主@ {6}:通过推更新
更新通过推:0e2d199参/遥控器/来源/主@ {7}
8a4de84参/遥控器/来源/主@ {8}:按推送更新

编辑2:
git log --format = raw --decorate --graph --all: …

git

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

Elasticsearch术语过滤内部对象字段不匹配

我刚才已经组织了我的文档结构有一个更面向对象的设计(如移动顶级性能如venueIdvenueNamevenue与对象idname领域).

但是我现在无法为子venue内部对象上的字段使用简单的术语过滤器.

这是我的映射:

{
    "deal": {
        "properties": {
            "textId": {"type":"string","name":"textId","index":"no"},
            "displayId": {"type":"string","name":"displayId","index":"no"},
            "active": {"name":"active","type":"boolean","index":"not_analyzed"},
            "venue": {
                "type":"object",
                "path":"full",
                "properties": {
                    "textId": {"type":"string","name":"textId","index":"not_analyzed"},
                    "regionId": {"type":"string","name":"regionId","index":"not_analyzed"},
                    "displayId": {"type":"string","name":"displayId","index":"not_analyzed"},
                    "name": {"type":"string","name":"name"},
                    "address": {"type":"string","name":"address"},
                    "area": {
                        "type":"multi_field",
                        "fields": {
                            "area": {"type":"string","index":"not_analyzed"},
                            "area_search": {"type":"string","index":"analyzed"}}},
                    "location": {"type":"geo_point","lat_lon":true}}},
            "tags": {
                "type":"multi_field",
                "fields": {
                    "tags":{"type":"string","index":"not_analyzed"},
                    "tags_search":{"type":"string","index":"analyzed"}}},
            "days": {
                "type":"multi_field",
                "fields": {
                    "days":{"type":"string","index":"not_analyzed"},
                    "days_search":{"type":"string","index":"analyzed"}}},
            "value": {"type":"string","name":"value"},
            "title": {"type":"string","name":"title"},
            "subtitle": {"type":"string","name":"subtitle"},
            "description": {"type":"string","name":"description"},
            "time": {"type":"string","name":"time"},
            "link": {"type":"string","name":"link","index":"no"},
            "previewImage": …
Run Code Online (Sandbox Code Playgroud)

lucene search elasticsearch

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

在MonoTouch中检查iOS类(而不是方法)的可用性

MonoTouch公开了RespondsToSelector方法,用于检查iOS版本中方法的可用性.

但是我似乎无法找到如何对类可用性执行类似的检查.
Apple在此处记录,在iOS 4.2+中,您应该尝试访问class所需类的静态选择器.例如:

if ([EKReminder class]) 
{
    ....
}
Run Code Online (Sandbox Code Playgroud)

然而,这似乎没有暴露.我认为它类似于我之前的问题,因为要在MT中实现它,需要Class在每个MT类型上显式映射静态属性.

所以我想我的问题是,我应该使用旧的iOS 4.2前技术吗?即:

Class cls = NSClassFromString (@"EKReminder");
if (cls) 
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我认为映射到:

var iosClass = Class.GetHandle("EKReminder");
if ( iosClass != null )
    ...
Run Code Online (Sandbox Code Playgroud)

或者使用Messaging中提供的互操作方法手动调用选择器?

还是我找不到的其他方法?

xamarin.ios weak-linking ios

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

AngularJs按数据和显示使用过滤器分组

我有以下对象,并希望创建一个按ParentCategoryID分组的过滤器.

[
{id : 116, Desciption : 'Item1', ParentID : 1, parent : 'Parent1'},
{id : 117, Desciption : 'Item2', ParentID : 2, parent : 'Parent2'},
{id : 118, Desciption : 'Item3', ParentID : 2, parent : 'Parent2'},
{id : 119, Desciption : 'Item4', ParentID : 1, parent : 'Parent1'}
]
Run Code Online (Sandbox Code Playgroud)

所以结果会是

Parent1
  Item1
  Item4
Parent2
  Item2
  Item3
Run Code Online (Sandbox Code Playgroud)

我的过滤器目前看起来像这样:

productDetailsApp.filter('groupBy', function() {
    return function(list, group_by) {       
        var filtered = [];
        var prev_item = null;

        angular.forEach(list, function(item) {
            if (prev_item !== …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-ng-repeat angularjs-filter

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

使用UINavigationController(Type navigationBarType,Type toolbarType)构造函数指定自定义导航栏

我试图使用UINavigationController(Type navigationBarType, Type toolbarType)构造函数来指定UINavigationBar在C#中定义的自定义派生类.

但是,我的所有尝试都会导致null ref异常.我认为这与我的托管类没有找到本地类有关吗?

if (UIDevice.CurrentDevice.CheckSystemVersion(7, 0))
    rootNavController = new UINavigationController(typeof(UnderlayNavigationBar), null);
else
    rootNavController = new UINavigationController();
Run Code Online (Sandbox Code Playgroud)

传递默认值typeof(UIToolbar)并没有帮助,而不是第二个空参数.

System.NullReferenceException: Object reference not set to an instance of an object
  at MonoTouch.ObjCRuntime.Runtime.ConstructNSObject[NSObject] (IntPtr ptr, System.Type type, MissingCtorResolution missingCtorResolution) [0x00037] in /Developer/MonoTouch/Source/monotouch/src/ObjCRuntime/Runtime.cs:365
  at MonoTouch.ObjCRuntime.Runtime.ConstructNSObject (IntPtr ptr, IntPtr klass, MissingCtorResolution missingCtorResolution) [0x00013] in /Developer/MonoTouch/Source/monotouch/src/ObjCRuntime/Runtime.cs:348
  at MonoTouch.ObjCRuntime.Runtime.GetNSObject (IntPtr ptr, MissingCtorResolution missingCtorResolution) [0x00021] in /Developer/MonoTouch/Source/monotouch/src/ObjCRuntime/Runtime.cs:430
  at MonoTouch.ObjCRuntime.Runtime.TryGetOrConstructNSObjectWrapped (IntPtr ptr) [0x00000] in /Developer/MonoTouch/Source/monotouch/src/ObjCRuntime/Runtime.cs:658
  at at (wrapper native-to-managed) MonoTouch.ObjCRuntime.Runtime:TryGetOrConstructNSObjectWrapped …
Run Code Online (Sandbox Code Playgroud)

c# xamarin.ios ios

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