1

変数に多くの値を割り当てる必要がある場合、forループなどを作成することは可能でしょうか?

store.item1 = @"asdasd"; 
store.item2 = @"asdasd"; 
store.item3 = @"asdasd"; 
store.item4 = @"asdasd"; 
store.item5 = @"asdasd"; 
store.item6 = @"asdasd"; 
store.item7 = @"asdasd"; 
store.item8 = @"asdasd"; 
store.item9 = @"asdasd"; 

何かのようなもの:

for (int i = 0; i < 10; i++)
{
    store.item%i = @"asds"; 
}

前もって感謝します

4

3 に答える 3

4

Key-Valueコーディングを使用して次のことができます。

for (int i = 0; i < 10; i++)
{
    [store setValue:@"asdfasd" forKeyPath:[NSString stringWithFormat:@"item%d", i]];
}

しかし、他の回答がアドバイスしたように...あなたが実際に店で働いているなら、これはあなたが本当に望むものではないかもしれません。

于 2012-05-10T12:48:22.157 に答える
2

JiaYowが言ったように、KVCを使用してください。

これは実用的な例です:

#import <Foundation/Foundation.h>

@interface Store : NSObject
@property (nonatomic, copy) NSString *item1;
@property (nonatomic, copy) NSString *item2;
@property (nonatomic, copy) NSString *item3;
@property (nonatomic, copy) NSString *item4;
@property (nonatomic, copy) NSString *item5;
@property (nonatomic, copy) NSString *item6;
@end

@implementation Store
@synthesize item1, item2, item3, item4, item5, item6;
@end

int main(int argc, char *argv[]) {
    NSAutoreleasePool *p = [[NSAutoreleasePool alloc] init];

    Store *store = [[Store alloc] init];

    for (int i = 1; i < 7; i++)
    {
        [store setValue:@"asdfasd" forKeyPath:[NSString stringWithFormat:@"item%d", i]];
    }

    [p release];
}

乾杯、

ヨハネス

于 2012-05-10T12:51:26.257 に答える
0

一連の変数がある場合は、NSArray個々のインスタンス変数ではなく、それらを格納するために使用します。

于 2012-05-10T12:46:22.203 に答える