我想知道它们的不同之处.什么时候我可以打电话
[self dismissViewControllerAnimated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
什么时候打电话
[self.navigationController popViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
根据apple的文档:dismissViewControllerAnimated意味着"解除接收者提供的视图控制器".但我总是不能通过这种方法解雇视图控制器.
我想从中获得一些有用的信息NSError.如果我打印出来[error userInfo],我会得到以下信息:
{
NSFilePath = "/Users/apple/Library/Application Support/iPhone Simulator/5.1/Applications/08260B6A-4D65-48DF-ADD1-FFC8750081E8/Documents/abc";
NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=17 \"The operation couldn\U2019t be completed. File exists\"";
}
Run Code Online (Sandbox Code Playgroud)
我想显示最后一行:"文件存在",但我怎么能把它拿出来?
我试过了:
localizedDescription
localizedFailureReason
localizedRecoverySuggestion
localizedRecoveryOptions
recoveryAttempter
Run Code Online (Sandbox Code Playgroud)
其中没有显示"文件存在".
我在我的设置中使用NSUserDefaults.应用程序运行良好,即使我按下主页键让应用程序进入后台,但如果我杀了应用程序,NSUserDefaults中的数据保存将丢失.这是我的代码.我使用同步.第一次初始化:
if (![userDefaults integerForKey:
kORFootageAirPlayModeKey])
{
[userDefaults setInteger:TRUE forKey:kORFootageAirPlayModeKey];
}
[userDefaults synchronize];
Run Code Online (Sandbox Code Playgroud)
在viewController中读取值:
airPlayMode = [[NSUserDefaults standardUserDefaults]integerForKey:kORFootageAirPlayModeKey];
Run Code Online (Sandbox Code Playgroud)
将其设置为动作:
- (IBAction)changeAirPlayStatus:(id)sender
{
if (sender)
{
airPlayMode = [sender tag];
[[NSUserDefaults standardUserDefaults] setInteger:airPlayMode forKey:kORFootageAirPlayModeKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}
.....
Run Code Online (Sandbox Code Playgroud)
}