2014-04-04 17 views
1

我想增加appDelegate中另一個類中出現的文本字段的值。 文本字段被定義爲以下的TestClass.h想要增加AppDelegate中另一個類中出現的文本字段的值

@property (assign) IBOutlet UITextField *id; 

AppDelegate類要增加每次我加載的TestClass的廈門國際銀行的文本字段的值。創建了一個IBAction,這樣當我點擊按鈕時,xib將被加載,TextFiled的值會增加。

在此先感謝!

+0

它是一個MAC OSX應用程序? – NeverHopeless

+0

是啊它的MAC OSX應用程序 – Namratha

+0

如果它是一個MAC OSX應用程序爲什麼有'ios'標籤? – deanWombourne

回答

1

,只要您的廈門國際銀行加載你的文本框是的realloc它更好您存儲在NSUserDefaults的和值manupulate只要你想

first time set the value 

if (![[NSUserDefaults standardUserDefaults] objectForKey:@"key"]) 
{ 
    [[NSUserDefaults standardUserDefaults] setObject:@"0" forKey:@"key"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 
} 

for set incremented value to userdefaults value 

    int i = [[NSUserDefaults standardUserDefaults] objectForKey:@"key"]; ///here is my key is @"key" while get value 

[[NSUserDefaults standardUserDefaults] setObject:[NSString stringWithFormat:@"%d",i+1] forKey:@"key"]; ///here is my key is @"key" while set value 

[[NSUserDefaults standardUserDefaults] synchronize]; 
NSLog("%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"key"]); 


set to text field 



NSLog("%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"key"]); ///here is my key is @"key" while get value and log value 

self.txtTest.text = [NSString stringWithFormat:@"%d",[[[NSUserDefaults standardUserDefaults] objectForKey:@"key"] intValue]];///here is my key is @"key" while get value 
+0

感謝您的答案,但想知道如何增加App Delegate中文本字段的值。提前致謝!! – Namratha

+0

首先初始化文本字段並將該值存儲爲用戶默認值,並且每當您想要增加該值時,則從userdefault獲取並增加該值,並將更新後的值設置爲userdefault。在您的視圖控制器中將userdefault值設置爲textfield。 –

+0

感謝您的答案,小例子將是有用的,因爲我是一個有點初學者目標C.在此先感謝。 – Namratha

0

試試這個

#import "AppDelegate.h" 

@implementation AppDelegate 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 
    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(postNotificaiton) userInfo:nil repeats:YES]; 
    return YES; 
} 

- (void)postNotificaiton{ 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"changeValue" object:nil]; 
}@end 

,並在您的ViewController

#import "ViewController.h" 

@interface ViewController() 
@property (weak, nonatomic) IBOutlet UITextField *txtFld; 

@end 

@implementation ViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeValue) name:@"changeValue" object:nil]; 
} 

- (void)changeValue{ 
    [self.txtFld setText:[NSString stringWithFormat:@"%d",[self.txtFld.text integerValue] + 1]]; 
} 


@end 

希望這對你有所幫助

+0

感謝您的幫助!!!但它說NSTextfield沒有可見的接口setText ..預先感謝。 – Namratha

+0

iOS中有NSTextfield類嗎? – Rajesh

+0

這個問題與IOS無關..對不起,我感到困惑。我沒有在IOS上工作.. – Namratha

0

如果您只想計算從xib加載TestClass的次數,您可以覆蓋awakeFromXib並在其中增加一個靜態計數器。

然後將文本視圖中的文本設置爲計數器的值。

0

未與Mac OSX應用程序交互,但爲了給您一個想法,請在TestClass中創建一個static變量,並且每當您加載XIB時,都會增加靜態變量並顯示在文本字段中。您還可以使用Singleton設計模式來處理此類功能。

相關問題