小编Kru*_*lur的帖子

覆盖layoutSubViews:随机导致"CGAffineTransformInvert:奇异矩阵"

我正在压倒layoutSubViews:一次,UIScrollView并且不时地为每个我重新定位的子视图得到"CGAffineTransformInvert:奇异矩阵".然而,布局看起来完全没问题.该应用程序也不会崩溃.

有人知道是什么原因引起的吗?

cocoa-touch objective-c

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

为什么在使用异步方法时捕获类范围变量,而在使用Action <T>(内部代码示例)时不捕获?

虽然走路我在想狗Action<T>,Func<T>,Task<T>,async/await(是的,书呆子,我知道...),并在我的脑海里构建一个小的测试程序,并想知道答案是什么.我注意到我不确定结果,所以我创建了两个简单的测试.

这是设置:

  • 我有一个类范围变量(字符串).
  • 它被赋予初始值.
  • 变量作为参数传递给类方法.
  • 该方法不会直接执行,而是分配给"Action".
  • 在执行操作之前,我更改了变量的值.

输出会是什么?初始值,还是更改后的值?

有点令人惊讶但可以理解,输出是改变的值.我的解释:在动作执行之前,变量不会被压入堆栈,因此它将是已更改的变量.

public class foo
{
    string token;

    public foo ()
    {
        this.token = "Initial Value";
    }

    void DoIt(string someString)
    {
        Console.WriteLine("SomeString is '{0}'", someString);
    }

    public void Run()
    {
        Action op = () => DoIt(this.token);
        this.token = "Changed value";
        // Will output  "Changed value".
        op();
    }
}
Run Code Online (Sandbox Code Playgroud)

接下来,我创建了一个变体:

public class foo
{
    string token;

    public foo ()
    {
        this.token = "Initial Value";
    }

    Task …
Run Code Online (Sandbox Code Playgroud)

.net c# asynchronous task

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

如何从异步PCL版本的SQLite中使用SQLiteAsyncConnection?

我正在使用来自https://github.com/oysteinkrog/SQLite.Net-PCL的PCL版本的Sqlite.net

但是,我无法进行数据库连接设置.该SQliteAsyncConnection确实不像原来的版本不是一个字符串(路径DB),但[Func< SQLiteConnectionWithLock>.]2

怎么用这个?一般来说:如何使用这个库?我有一个核心PCL lib,可以完成iOS,Android和WP8项目的所有业务逻辑.我的理解是我可以将Sqlite-Net Async PCL放入我的PCL lib中.但似乎我必须提供一些特定于平台的东西才能让它发挥作用.

c# sqlite xamarin.ios xamarin.android windows-phone-8

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

Xamarin.iOS中的NSTimer与Timer - 何时使用什么?

是否有规则何时使用本机NSTimer与.NET替代方案?

  • System.Windows.Forms.Timer
  • System.Timers.Timer
  • System.Threading.Timer

c# xamarin.ios xamarin

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

为什么 Entity Framework Core 迁移需要 .NET Core 2.x?

在我的 .NET5.0 项目中,安装了 PostgreSQL Nuget 包 ( Npgsql.EntityFrameworkCore.PostgrSQL (5.0.2)) 及其 EF Core 的依赖项 ( Microsoft.EntityFrameworkCore (5.0.2))。

我正在尝试使用以下命令创建迁移:

dotnet ef migrations add InitialCreate
Run Code Online (Sandbox Code Playgroud)

但是,迁移失败,因为我被要求安装 .NET Core 2.0.0 - 按照推荐的下载链接,我被告知它不再可用,我可能想使用 5.0。我到底该如何运行迁移?

输出如下所示:

Build started...
Build succeeded.
It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '2.0.0' was not found.
  - The following frameworks were found:
      3.1.11 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
      3.1.12 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
      3.1.13 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
      5.0.3 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
      5.0.4 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

You can resolve the problem …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core .net-5

12
推荐指数
2
解决办法
3934
查看次数

找出X509Certificate2是否被撤销?

如何确定是否X509Certificate2已被撤销?我假设该Verify()方法检查它,但它没有在帮助中明确说明它.有人知道吗?

另外:Verify()检查证书是否过期了吗?

c# asp.net

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

UISplitViewController的肖像:如何以编程方式隐藏主popover?

在我UISplitViewController的主控制器是一个UINavigationController.在纵向模式下,只要用户向上导航(使用后退按钮),我想保持导航控制器可见.一旦选择了导航控制器的表视图中的项目,我想解除弹出窗口.我怎样才能做到这一点?我UITableViewController怎么知道它是否在一个弹出窗口内,如果是,则解雇自己?

cocoa-touch objective-c ipad

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

MVVM在ASP.NET MVC 4 Web应用程序中扮演什么角色?

当我读"ASP.NET MVC 4"这本书时,我想知道MVVM.我开始谷歌搜索,无法找到任何关于使用MVVM开发Web应用程序的书籍,所以我必须在这里遗漏一些信息.

据我所知,MVVM通过knockout.js和其他框架在客户端的Web应用程序中使用.但是,如果我要开发Windows Phone应用程序,我可以直接使用MVVM而不使用MVC.这是否意味着,MVVM /数据绑定的概念不适用于客户端 - 服务器Web应用程序?

asp.net-mvc web-applications mvvm knockout.js

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

Android上的iOS'QLPreviewController或UIDocumentInteractionController的对应部分是什么?

在iOS上,使用QLPreviewController或预览许多类型的文件非常容易UIDocumentInteractionController.如何在Android上实现类似的功能以及支持哪些文件格式?

android xamarin.ios xamarin.android xamarin

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

为什么Task.WaitAll()不会阻塞或导致死锁?

在下面的示例中await,使用了两个调用.为了获得性能,样本会被转换Task.WaitAll()(实际上并不是更快,但这只是一个例子).

这是来自Android上使用Sqlite.Net的库中的代码,该方法从OnResume()主UI线程调用:

public async Task SetupDatabaseAsync()
{
  await CreateTableAsync<Session>();
  await CreateTableAsync<Speaker>();
}
Run Code Online (Sandbox Code Playgroud)

这是替代方案:

public void SetupDatabaseAsync()
{
  var t1 = CreateTableAsync<Session>();
  var t2 = CreateTableAsync<Speaker>();

  Task.WaitAll(t1, t2);
}
Run Code Online (Sandbox Code Playgroud)

但是从我的理解Task.WaitAll()应该在等待时阻止UI线程,从而导致死锁.但它的工作正常.那是因为这两个调用实际上并没有在UI线程上调用任何东西吗?

如果我使用它有什么区别Task.WhenAll()?我猜它即使会调用UI线程也能工作,就像使用它一样await.

c# task-parallel-library async-await xamarin

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