2011-04-06 238 views
0

我正在设计一个老虎机项目,其中有高分页面的第二个视图。大多数情况下,除了将老虎机从老虎机传递到高分页之外,所有的东西都可以工作。这里是我的方法的代码老虎机内:将值从一个类传递到另一个类

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

哪里是如果(赢得== YES)这种说法? – saadnib 2011-04-06 16:23:08

+0

在我的IBAction中称为spin,每当用户点击一个按钮时调用。它让我的老虎机旋转并播放声音和东西。这是所有功能,我需要知道的是如何将字符串从一个类传递到另一个 – SForemann 2011-04-07 14:36:46

+0

,这是所有功能* – SForemann 2011-04-07 14:37:08

回答

0

如果你问我,你的高分数据应该在每个人都可以访问的模型类中,比如单例。

当玩家获胜时,您的插槽ViewController应该在此模型类中插入新的High Score,然后使用Key-Value Observing或Notifications,High Score视图应该自行更新。

+0

有没有更简单的方法?我不想重新创建整个项目以提高效率,我只需要一种可行的方法。 – SForemann 2011-04-07 14:31:57

+0

我对代码的组织方式感到困惑。根据我的理解,您的第一个块位于您的微调ViewController的Action中。什么是HighScorePage?它看起来像一个ViewController,但你使用self.view调用它。 – scalbatty 2011-04-07 14:52:36

+0

slotmachine和highscorepage都是我的tabbarcontroller的视图。 highscores是我的UITableView托管的价值TBH这个UITableView的更新对我来说没有意义(我来自Java的这个)。看起来要填充UITableView,您需要使用NSArray,但NSArray不是动态的(不能附加新对象)。所以使用可以改变的NSMutableArray是有意义的,但是Objective-C是愚蠢的,并且不想接受它。我有点讨厌这种语言哈哈。 – SForemann 2011-04-07 15:01:14

0

在您的评论你问如何从一个类传递到另一个字符串,这里就是答案 -

如果你想通过,则A类的.H从B到A级类的字符串值文件创建的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级什么

希望这会帮助你。也为有关财产的外观的详细信息 -

http://developer.apple.com/library/Mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProperties.html#//apple_ref/doc/uid/TP30001163-CH17-SW1enter code here

相关问题