1

NSIntegerをOther View Controllerに渡す必要があります。

NSInteger index = [carousel indexOfItemView:sender];

これは で実装されました。次UIButtonのようなサンプル コードを使用することを考えていNSUserDefaultsます。

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

しかし、上記のコードではできません。他の方法はありますか。

4

4 に答える 4

2

NSUserdefaults を使用して、ある Viewcontroller から別の Viewcontroller に値を渡すことができます。以下のコードを使用します。

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

次のコードを使用して、別のビューで取得できます。

 NSInteger savedIndex = [[NSUserDefaults standardUserDefaults] integerForKey:@"integer"]; 
于 2012-06-01T05:36:36.177 に答える
1

UIButtonが含まれているViewControllerから、他のView Controllerの参照を取得し、そのプロパティを使用して値を設定する必要があります。

1つの方法は、UIButtonを保持するUIViewControllerのプロパティを使用して、値を設定する必要のあるViewControllerへの参照を割り当てることです。ボタンビューコントローラを作成するときにその値を設定します。

もう1つの方法は、アプリケーションデリゲートにターゲットView Controllerへの参照を含めることです。これは、[[UIApplicationsharedApplication]デリゲート]呼び出しを介してどこからでもアクセスできます。

StackOverflowをさらに検索することもできます。この質問には、以前に回答したことがあると思います...

于 2012-06-01T05:42:05.530 に答える
0

以下のコードを使用します。

[[NSUserDefaults standardUserDefaults]setInteger:4 forKey:@"integer"];
[[NSUserDefaults standardUserDefaults] synchronize];
于 2012-06-01T05:30:38.083 に答える
0

または、現在のView ControllerからそのView Controllerに移行していて、その値がアプリ全体ではなく次のView Controllerでのみ必要な場合は、プロパティを使用して別のView Controllerに値を渡すことができます。 viewController1 から viewController2 に遷移します。また、viewController2 にインデックス値が必要です。この場合、viewController2.h で次のようにプロパティを宣言できます。

@property(nonatomic,assign)int indexInViewController2;

synthesize in viewController2.m as follows:

@synthesize indexInViewController2;

そして、viewController1 から viewController2 への移行中に、次のように値を渡すことができます。

viewcontroller2Obj.indexInViewController2 = [carousel indexOfItemView:sender];
于 2012-06-01T05:50:57.853 に答える