字符串selectedSong
不保留它的值,當我在故事板中切換到另一個ViewController時。即使我所有的viewcontroller都連接到ViewController類。 我已經做了這樣的iphone - 字符串不保留其值
首先查看:
- (IBAction)selectTheSong {
selectedSong = @"test";
NSLog(@"%@", selectedSong);
}
,有它返回日誌中的價值test
。
第二個視圖:
NSLog(@"%@", selectedSong);
if (audioPlayer == nil) {
NSString* soundPath =[[NSBundle mainBundle] pathForResource:selectedSong ofType:@"mp3"];
NSURL *soundURL = [NSURL fileURLWithPath:soundPath];
NSError *error = nil;
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:&error];
[self.audioPlayer prepareToPlay];
}
[self.audioPlayer play];
這一次,它在日誌中返回(null)
。
字符串設置不正確嗎?我試圖讓它成爲一個財產等,但沒有奏效。 請幫忙!謝謝!
太棒了!這正是我一直在尋找的東西,儘管自從我使用NSUserDefaults之後,我還沒有測試過它。我知道這是錯誤的,但保持一個字符串不會造成任何傷害,對吧?我應該堅持我擁有的還是使用你的想法? –
我會使用一個屬性,除非您希望在應用程序關閉後保留字符串的狀態。除非有必要,否則不要浪費用戶iPhone上的空間,即使它只是一個字符串。另外,屬性是Objective-C開發的基石,通過學習操作的基礎知識,您會驚訝於您會理解多少,至少我是在第一次開始使用iOS時。當我第一次開始進行軟件開發時,他們向我透露了OOP的整個概念,訪問方法和內存管理。 –