/ / NSInteger zu einer anderen Ansicht - iphone, ios, xcode

NSInteger zu einer anderen Ansicht - iPhone, IOS, Xcode

Ich muss einen übergeben NSInteger zu meinem anderen View Controller:

NSInteger index = [carousel indexOfItemView:sender];

Dies wurde in einem implementiert UIButtonIch denke an die Verwendung der NSUserDefaults wie dieser Beispielcode hier:

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

Aber ich kann das mit meinem Code oben nicht. Gibt es andere Methoden?

Antworten:

2 für die Antwort № 1

Sie können NSUserdefaults verwenden, um den Wert von einem Viewcontroller an einen anderen zu übergeben. Verwenden Sie den folgenden Code:

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

Sie können es in einer anderen Ansicht abrufen, indem Sie folgenden Code verwenden:

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

1 für die Antwort № 2

Vom Ansichts-Controller aus, in dem sich der UIButton befindet, müssen Sie eine Referenz Ihres anderen Ansichts-Controllers abrufen und dann eine Eigenschaft haben, um den Wert festzulegen.

Eine Möglichkeit wäre, eine Immobilie auf derUIViewController, der den UIButton enthält, um dem View-Controller, auf den Sie einen Wert festlegen möchten, eine Referenz zuzuweisen. Stellen Sie diesen Wert ein, wenn Sie den Button-View-Controller erstellen.

Eine andere Möglichkeit wäre, einen Verweis auf den Ziel-View-Controller in Ihrem Anwendungsdelegaten zu haben, den Sie von überall mit dem Aufruf [[UIApplication sharedApplication]] erreichen können.

Möglicherweise möchten Sie auch StackOverflow weiter durchsuchen. Diese Frage wurde sicher bereits beantwortet ...


0 für die Antwort № 3

Verwenden Sie den folgenden Code:

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

0 für die Antwort № 4

Oder Sie können property verwenden, um den Wert an einen anderen zu übergebenView Controller, wenn Sie vom aktuellen View-Controller zu diesem View-Controller wechseln, und Sie benötigen diesen Wert nur im Next-View-Controller, nicht in der gesamten App. Ich meine, Sie befinden sich in viewController1 und Sie wechseln von viewController1 zu viewController2.Und Sie möchten den Index value in viewController2. In diesem Fall können Sie die Eigenschaft in viewController2.h folgendermaßen definieren:

@property(nonatomic,assign)int indexInViewController2;

synthesize in viewController2.m as follows:

@synthesize indexInViewController2;

und beim Übergang von viewController1 zu viewController2 können Sie den Wert wie folgt übergeben:

viewcontroller2Obj.indexInViewController2 = [carousel indexOfItemView:sender];