/ / NSInteger na iný pohľad - iphone, ios, xcode

NSInteger na iný pohľad - iphone, ios, xcode

Musím prejsť NSInteger do môjho iného ovládača zobrazenia:

NSInteger index = [carousel indexOfItemView:sender];

Toto sa implementovalo v UIButton, Myslím na použitie NSUserDefaults ako tento vzorový kód tu:

[[NSUserDefaults standardUserDefaults] setObject:4 forKey:@"integer"];
[[NSUserDefaults standardUserDefaults] synchronize];

Ale nemôžem to urobiť s mojim kódom vyššie. Existujú iné metódy.

odpovede:

2 pre odpoveď č. 1

Môžete použiť NSUserdefaults na prenos hodnoty z jedného Viewcontroller do iného. Použite nasledujúci kód:

NSInteger index = [carousel indexOfItemView:sender];
[[NSUserDefaults standardUserDefaults] setInteger:index forKey:@"integer"];
[[NSUserDefaults standardUserDefaults] synchronize];

Môžete ju načítať v inom zobrazení pomocou nasledujúceho kódu:

 NSInteger savedIndex = [[NSUserDefaults standardUserDefaults] integerForKey:@"integer"];

1 pre odpoveď č. 2

Z riadiaceho prvku UIButton sa nachádza, musíte získať referenciu vášho iného ovládača zobrazenia a potom mať na ňom vlastnosť na nastavenie hodnoty.

Jedným zo spôsobov by bolo mať majetok naUIViewController, ktorý drží UIButton priradiť odkaz na kontrolér zobrazenia, musíte nastaviť hodnotu. Nastavte túto hodnotu pri vytváraní ovládača zobrazenia tlačidiel.

Ďalšou cestou by malo byť odkaz na riadiacu jednotku cieľového zobrazenia vo vašom delegátovi aplikácie, ku ktorému sa môžete dostať odkiaľkoľvek prostredníctvom volania delegáta [[UIApplication sharedApplication]].

Môžete tiež chcieť hľadať StackOverflow viac, na túto otázku som si istý, že bola odpoveď pred ...


0 pre odpoveď č. 3

Použite kód nižšie:

[[NSUserDefaults standardUserDefaults]setInteger:4 forKey:@"integer"];
[[NSUserDefaults standardUserDefaults] synchronize];

0 pre odpoveď č. 4

Alebo môžete použiť vlastnosť na odovzdávanie hodnoty inejzobraziť ovládač, ak prechádzate z aktuálneho zobrazovacieho ovládača na daný kontrolný riadok a potrebujete túto hodnotu iba v ďalšom zobrazení radiča nie v celom app.Myslím, že ste v ViewController1 a prechádzate z viewController1 do viewController2.And chcete index value viewController2.V tomto prípade môžete deklarovať vlastnosť v viewController2.h ako:

@property(nonatomic,assign)int indexInViewController2;

synthesize in viewController2.m as follows:

@synthesize indexInViewController2;

a pri prechode z ViewControl1 do ViewControl2 môžete prejsť hodnotu takto:

viewcontroller2Obj.indexInViewController2 = [carousel indexOfItemView:sender];