2011-01-17 3 views

Antwort

5

Das ist ziemlich einfach zu tun, müssen Sie 2 Dinge tun:

1: die Steckdose in einem öffentlichen Eigentum Expose, in Ihrem AppDelegate:

public class AppDelegate : NSObject { 
    public UITextField PublicField { 
     get { 
      return outletName; 
     } 
    } 
} 

2: Ihre AppDelegate von einem anderen Access Klasse:

public class OtherClass : NSObject { 
    public void SomeMethod() { 
     var ad = (AppDelegate) UIApplication.SharedApplication.Delegate; 

     ad.PublicField.Text = "foo"; 
    } 
} 
+0

Put # 1 innerhalb der App Delegate partiellen Klasse und ist immer diese Fehlermeldung: Fehler CS0542: 'Prager.AppDelegate.AppDelegate ': Mitglied Die Namen dürfen nicht mit ihrem umschließenden Typ identisch sein (CS0542) – SpokaneDude

+0

Sie haben die Eigenschaft nur in Ihr appdelegate geschrieben, keine innere Klasse. Ich habe das nur als Kontext verwendet, dasselbe gilt für OtherClass. –

+0

OK .. das ist, was habe ich INSIDE App Delegierter: \t \t öffentlichen UITextField PublicField { \t \t get { \t \t Rückkehr txtRemainingIDs; \t \t} \t \t} und das ist, was ich in der Methode, wo ich Zugang benötigen: \t \t \t \t // müssen das Textfeld auf Buy-IDs aktualisieren <--------- ---------- TODO \t \t var ad = (AppDelegate) UIApplication.SharedApplication.Delegate; \t \t \t \t ad.txtRemainingIDs.Text = sumIDs.ToString(); und der Erstellungsfehler ist: ad.txtrematiningIDs ist aufgrund seiner Schutzstufe nicht erreichbar. Ich bin verloren! Ich dachte, es wäre richtig, was ich betrat ... Muss ich etwas in IB machen? – SpokaneDude

Verwandte Themen