私は NSInteger
私の他のView Controllerに:
NSInteger index = [carousel indexOfItemView:sender];
これは、 UIButton
私は NSUserDefaults
このサンプルコードは次のようになります:
[[NSUserDefaults standardUserDefaults] setObject:4 forKey:@"integer"];
[[NSUserDefaults standardUserDefaults] synchronize];
しかし、私は上記の私のコードで行うことはできません。 他の方法がありますか?
回答:
回答№1は2NSUserdefaultsを使用して、あるViewControllerから別のViewControllerに値を渡すことができます。次のコードを使用します。
NSInteger index = [carousel indexOfItemView:sender];
[[NSUserDefaults standardUserDefaults] setInteger:index forKey:@"integer"];
[[NSUserDefaults standardUserDefaults] synchronize];
次のコードを使用すると、別のビューで取得できます。
NSInteger savedIndex = [[NSUserDefaults standardUserDefaults] integerForKey:@"integer"];
回答№2の場合は1
View ControllerからUIButtonがある場合は、他のView Controllerの参照を取得し、その値を設定するためのプロパティを持つ必要があります。
1つの方法は、値を設定する必要があるView Controllerへの参照を割り当てるUIButtonを保持するUIViewController。ボタンビューコントローラーを作成するときにその値を設定します。
もう1つの方法は、アプリケーションデリゲートのターゲットビューコントローラへの参照です。このビューコントローラは、[[UIApplication sharedApplication] delegate]コール経由でどこからでも取得できます。
また、StackOverflowをさらに検索したいことがあるかもしれません。
回答№3の場合は0
以下のコードを使用してください:
[[NSUserDefaults standardUserDefaults]setInteger:4 forKey:@"integer"];
[[NSUserDefaults standardUserDefaults] synchronize];
回答№4の場合は0
または、プロパティを使用して別の値に値を渡すことができます現在のビューコントローラーからそのビューコントローラーに移動しているときに、その値が必要なのは、viewController1にあり、viewController1からviewController2に移動していると仮定します。この場合、viewController2.hのpropertyを次のように宣言できます。
@property(nonatomic,assign)int indexInViewController2;
synthesize in viewController2.m as follows:
@synthesize indexInViewController2;
viewController1からviewController2への遷移中に、次のように値を渡すことができます:
viewcontroller2Obj.indexInViewController2 = [carousel indexOfItemView:sender];