我正在设计一个老虎机项目,其中包含高分页面的第二个视图。在大多数情况下,除了将赢家从老虎机传递到高分页面之外,一切都正常。这是我在老虎机中的方法中的代码:
if(win == YES) {
NSString *msg = nil;
if(playerField.text.length > 0) {
msg = [[NSString alloc] initWithFormat:@"%@", playerField.text];
}
NSLog(@"DEBUG");
[(HighScorePage *)self.view addNewHighScore:msg];
[self performSelector:@selector(playWinSound) withObject:nil afterDelay:.5];
[msg release];
}
以下是HighScorePage中的addNewHighScore方法:
-(void)addNewHighScore:(NSString *)player {
NSMutableArray *tempArray = [[NSMutableArray alloc] init];
int i = 0;
for (NSArray *count in dynPlayerArray) {
[tempArray addObject:[NSIndexPath indexPathForRow:i++ inSection:0]];
}
[tempArray addObject:player];
[[self highScores] beginUpdates];
[[self highScores] insertRowsAtIndexPaths:(NSArray *)tempArray withRowAnimation:UITableViewRowAnimationNone];
[[self highScores] endUpdates];
[tempArray release];
}
还是新的,所以让我知道你的想法!谢谢!
答案 0 :(得分:0)
如果你问我,你的高分数据应该是每个人都可以访问的模型类,例如单身人士。
当您的播放器获胜时,您的插槽ViewController应在此模型类中插入新的高分,然后使用键值观察或通知,高分视图应自行更新。
答案 1 :(得分:0)
在您的评论中,您已经询问如何将字符串从一个类传递到另一个类,这是答案 -
如果要将字符串值从类B传递到类A,则在类A的.h文件中创建一个NSMutableString实例并将其定义为属性 -
NSString *stringVar;
@property (nonatomic, retain) NSString *stringVar;
and also synthesize this property in class A's .m file for setter & getter as-
@ synthesize stringVar;
然后在B类中将此字符串作为A类的属性访问,并指定您希望从B类传递给A类的值。
希望这会对你有所帮助。有关属性外观的更多信息 -