小编dar*_*nde的帖子

NSManagedObject是否符合NSCoding

我需要跨设备传输单个对象.现在我正在将我的NSManagedObject转换为字典,将其存档并作为NSData发送.收到后,我正在取消归档.但我真的想通过归档和取消归档来转移NSManagedObject本身,而不是创建一个中间数据对象.

@interface Test : NSManagedObject<NSCoding>
@property (nonatomic, retain) NSString * title;
@end

@implementation Test
@dynamic title;

- (id)initWithCoder:(NSCoder *)coder {
    self = [super init];
    if (self) {
        self.title = [coder decodeObjectForKey:@"title"]; //<CRASH
    }
    return self;
}
- (void)encodeWithCoder:(NSCoder *)coder {
    [coder encodeObject:self.title forKey:@"title"];
}
@end


NSData *archivedObjects = [NSKeyedArchiver archivedDataWithRootObject:testObj];
NSData *objectsData = archivedObjects;
if ([objectsData length] > 0) {
    NSArray *objects = [NSKeyedUnarchiver unarchiveObjectWithData:objectsData];
}
Run Code Online (Sandbox Code Playgroud)

上面代码的问题是.它在崩溃self.titleinitWithCoder说法发送到实例无法识别选择.

  • 为什么title不被识别为选择器.
  • unarchive应该在创建对象之前以某种方式使用nil托管对象上下文initWithCoder吗?
  • 我需要覆盖copyWithZone吗?

core-data nscoder ios

6
推荐指数
1
解决办法
3394
查看次数

NSDateFormatter时区(Etc/GMT)未被解析为dateFromString

我试图2011-07-11 13:28:59 Etc/GMT通过以下代码将其转换为NSDate 变得无效

NSString *dateString=@"2011-07-11 13:28:59 Etc/GMT";
NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"yyyy-MM-dd hh:mm:ss z"];
NSDate *purchaseDate = [dateformatter dateFromString:dateString];
Run Code Online (Sandbox Code Playgroud)

此日期来自苹果服务器本身,用于应用内购买验证.我用时区去了很多线程.但它们都没有显示如何转换它Etc/GMT

我试过了 z zz zzz zzzz Z ZZ ZZZ ZZZZ

这可能是什么问题.

iphone timezone datetime

4
推荐指数
3
解决办法
3825
查看次数

如何在 RSS 提要中获取接下来的 20 个项目?

我使用 NSXMLParser 类创建了一个 RSS 解析器。提要的项目数为 20。我想知道如何从提要中获取接下来的 20 项?

如果我将相同的 url 添加到谷歌阅读器,它会获取很多项目并在我向下滚动时继续。有什么特别的方法可以从 RSS 中获取接下来的 20 个项目吗?

例如,考虑这个呆伯特博客的提要。feed://feeds.feedburner.com/typepad/ihdT?format=xml

xml iphone rss parsing objective-c

3
推荐指数
2
解决办法
8876
查看次数

标签 统计

iphone ×2

core-data ×1

datetime ×1

ios ×1

nscoder ×1

objective-c ×1

parsing ×1

rss ×1

timezone ×1

xml ×1