English 中文(简体)
单点触控设置属性不保留属性值
原标题:Monotouch set properties not keeping property values

在我的MonoDevelop项目中,我有一个iPhone应用程序。我有两种不同的观点。每个视图都包含一个UITable。对于视图1,我将类1作为数据源1挂接到UITable。对于视图2,我将类2连接为数据源2。这两个类(即数据源)都向表提供数据。视图2还有一个自定义单元格,因此加载是异步的。

我使用linq-to-XML从2个XML文件中获取数据。一切正常,数据加载量很大。我需要知道的是根据视图1中的选择在数据源2中加载数据。为此,我需要将一个ID从视图1传递给类(数据源)2。问题

我已经尝试了我所知道的一切,但我就是做不好。

我认为正确的解决方案是:

我创建了另一个名为SelectedRound的类,它有两个属性。密码

using System;

namespace xxxxx
{
    public class SelectedRound
    {
        public string RoundID { get; set; }
        public string Date { get; set; }
    }
}

当我在类1中设置RoundID时,我就可以在类1中将其访问。然而,在类2中尝试访问它时,将不返回任何内容或返回null。为什么会发生这种情况?这可能是因为类(数据源)2正在异步加载吗?我是否应该以某种全局方式实例化SelectedRound类?如果是这样,怎么办?AppDelegate也许?(我也在努力做到这一点)。

在我看来,设置和获取一个简单的字符串变量是困难的,这似乎毫无意义。

最佳回答

这感觉就像是你如何将SelectedRound实例从第一个视图传递到第二个视图。

作为一种非常快速和肮脏的解决方案,你可以只使用单例或只使用静态类:

public static class SelectedRound
{
    public static string RoundID {get;set;}
    public static string Date {get;set;}
}

对于更复杂的模式,然后尝试重写两个视图控制器中的一个或两个的构造函数,以便向它们传递非静态类的共享实例。

视图控制器现在可能对你来说很陌生,但它们只是c#类,所以可以通过编写重写、新方法和属性来扩展它们。

问题回答

暂无回答




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签