- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。
想改进这个问题?将问题更新为 on-topic对于堆栈溢出。
8年前关闭。
Improve this question
我正在开发一个 iOS 应用程序,该应用程序涉及保存和检索包含单个 的多个实例的 NSMutableArray。定制 我制作的对象。我看过几个指南,例如Apple's Documentation
我得到了如何做到这一点的要点(我认为),似乎我必须使用归档,因为我的数组中的对象不是原始变量,因此我已经使我的对象符合 NSCoding 标准。但是,我也看到了使用 NSDefaults 或任何我不理解的示例(我没有文件 IO 经验)。在看到所有这些信息之后,我很难将所有内容拼凑在一起。我要找的是 完整 的从头到尾的指南示例 成功使用归档来保存和检索自定义对象(是否在数组中)的程序。如果有人可以为我指出一个很好的指南或在这篇文章中自己制作,那将不胜感激!谢谢大家,Stack Overflow 是一个很棒的地方!
附言如果需要更多信息,请在评论中告诉我!
最佳答案
确保您尝试归档的任何类都实现了 NSCoding 协议(protocol),然后执行以下操作:
@interface MyClass<NSCoding>
@property(strong,nonatomic) NSString *myProperty;
@end
@implementation MyClass
#define myPropertyKey @"myKey"
-(id)initWithCoder:(NSCoder *)aDecoder
{
self = [super init];
if( self != nil )
{
self.myProperty = [aDecoder decodeObjectForKey:myPropertyKey];
}
return self;
}
-(void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeObject:[self.myProperty copy] forKey:myPropertyKey];
}
@end
@implementation FileUtils
+ (NSObject *)readArchiveFile:(NSString *)inFileName
{
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *documentsDirectoryPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectoryPath, inFileName];
NSObject *returnObject = nil;
if( [fileMgr fileExistsAtPath:filePath] )
{
@try
{
returnObject = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];
}
@catch (NSException *exception)
{
returnObject = nil;
}
}
return returnObject;
}
+ (void)archiveFile:(NSString *)inFileName inObject:(NSObject *)inObject
{
NSString *documentsDirectoryPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectoryPath, inFileName];
@try
{
BOOL didSucceed = [NSKeyedArchiver archiveRootObject:inObject toFile:filePath];
if( !didSucceed )
{
NSLog(@"File %@ write operation %@", inFileName, didSucceed ? @"success" : @"error" );
}
}
@catch (NSException *exception)
{
NSLog(@"File %@ write operation threw an exception:%@", filePath, exception.reason);
}
}
+ (void)deleteFile:(NSString *)inFileName
{
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *documentsDirectoryPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectoryPath, inFileName];
NSError *error;
if ( [fileMgr fileExistsAtPath:filePath] && [fileMgr removeItemAtPath:filePath error:&error] != YES)
{
NSLog(@"Unable to delete file: %@", [error localizedDescription]);
}
}
@end
关于iOS 对象归档从头到尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18773392/
我非常确定 IoC 是适合我的应用程序的方法。 SO 上有大量文章甚至问题都在讨论不同的容器。我今天阅读了几篇带有部分示例的博客。我个人倾向于从 CommonServiceLocator 和 Unit
这个问题在这里已经有了答案: How to read a text file reversely with iterator in C# (11 个答案) 关闭 3 年前。 我有一个包含一系列价格数
编辑 在经历了如此多的努力却只产生了错误的 .exe 文件之后,我们决定不再花更多的时间尝试生成代码,而是自己编写代码。谢谢大家的宝贵时间。 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_
我正在尝试匹配 span具有特定类名的元素以及其开始和结束之间的所有内容。 我的正则表达式是 /]*"myClass".*?/gi 。它适用于 ... ,但它在类似下面的情况下失败,仅扩展到第一个
我是一名优秀的程序员,十分优秀!