0

だから私は自分のアプリを持っていて、タップカウンターと表示ラベルのあるビューを持っています。メイン ビュー (現在は表示されます) だけでなく、2 つ目のビューにもテキストを表示したいと思います。

では、他のビューにテキストを表示するにはどうすればよいですか。詳細が必要な場合は、メールでお問い合わせください。

タップ カウンターの再現手順 .h ファイル:

@interface Level1 : UIViewController {

int counter;

IBOutlet UILabel *count;

}

-(IBAction)plus;

@property (assign) int counter;

@end

.m ファイル:

@synthesize counter;

- (void) viewDidLoad {

counter=1;

count.text = @"0";

[super viewDidLoad];
}

-(IBAction)plus {

counter=counter + 1;

count.text = [NSString stringWithFormat:@"%i",counter];
}

@end 

前もって感謝します

4

2 に答える 2

1

両方のビューで共有されるカウンター値でモデルを作成できます。

モデルは通常シングルトン パターンで作成されます。この場合、次の方法で実行できます。

あなたの.hファイル:

@interface CounterModel
@property (assign) NSInteger counter;// atomic
+ (id)sharedInstance;
- (void)increment;
@end

あなたの .m ファイル:

@implementation CounterModel
@synthesize counter;

- (id)init
{
    if (self = [super init])
    {
    }
    return self;
}

+ (id)sharedInstance
{
    static CounterModel *instance = nil;
    if (instance == nil)
    {
        instance = [[CounterModel alloc] init];
    }
    return instance;
}

- (void)increment
{
    counter++;
}

@end

次に、1 つの View Controller から次のように呼び出すことができます。

[[CounterModel sharedInstance] increment];

2 番目からは、次の呼び出しによってこの更新された値を読み取ることができます。

[[CounterModel sharedInstance] counter];

目的を達成するには、viewWillAppear メソッドでモデルのカウンター値から読み取った UILabel 値を設定できます。

于 2012-10-21T18:11:03.350 に答える
0

ここでデリゲートを使用してデータを別のビューに渡すことができます。おそらく最初のビューを介して 2 番目のビューをロードすると、最初のビューをデータソースとして設定できます。

http://www.youtube.com/watch?v=e5l0QOyxZvI

通知センターを使用して、メッセージを別のビューに送信することもできます。

于 2012-10-21T18:17:25.053 に答える