2011-04-06 173 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

相關問題