2012-09-24 2 views
1

iPad보기 컨트롤러로 .xib와 함께 정의 된 MonoTouch에 UIViewController가 있습니다.동적 유형의 MonoTouch UIViewController

나는있는 UIViewController이 같은 동적 타입 사용 변경하는 경우 :

public partial class CustomCount : UIViewController<tUnit> where tUnit : struct 
    { 

     private tUnit someVariable; 
    ... (rest of class goes here) ... 

그런 다음 monoTouch 더 이상이 뷰 컨트롤러 Xcode 프로젝트의에 해당하는 .H와하는 .m 파일을 생성하는 것입니다. (그들이하는 .m 파일에 정의 된대로)이 때문에

, 난 더 이상 내가 tTUnit 동적 유형을 제거하면

이 모든 것이 잘 작동하는 UI 콘센트에 액세스 할 수 없습니다.

where tUnit : struct 부분은 MonoTouch와 차이가 없습니다.

거기에 대한 알려진 해결책이 있습니까, 아니면 내가 기대하는 모든 유형에 대한 클래스의 세퍼레이트 버전을 만들어야합니까?

답변

2

struct이 필요합니까? 그렇지 않으면 인터페이스를 사용할 수 있습니다.

대신이 작업을 수행 할 수 있습니다

public partial class CustomCount : UIViewController 
{ 
    //Use a static method here 
    public static CustomCount Create(ISomeInterface yourVariable) { return new Customcount() { someVariable = yourVariable }; } 

    //Private Constructor 
    private CustomCount() { } 

    private ISomeInterface someVariable; 
} 

당신은 이벤트 단지 someVariable 공용 속성 또는 뭔가 만들 수 있습니다.

+0

이 경우 구조체가 선호되지만 sé에 대한 요구 사항은 아니지만 괜찮은 옵션입니다. +1 –

+0

성능에 대해 걱정이된다면 인터페이스를 사용하는 것이 당신을별로 해칠 수는 없습니다. 구조체가 인터페이스를 상속하도록 만들 수도 있습니다 (http://blogs.msdn.com/b/abhinaba/archive/2005/10/05/477238.aspx). – jonathanpeppers

관련 문제