gpt4 book ai didi

iphone - 访问核心数据实体的 NSString 属性

转载 作者:行者123 更新时间:2023-12-03 17:28:45 27 4
gpt4 key购买 nike

我正在将我的初始步骤转移到核心数据领域(而且我对 iPhone 开发也很陌生),并且我发现了一个我无法解释的行为。我声明了 NSManagedObject 的子类并定义了一些属性,其中一些属性的类型为 NSString *,MyObject.h 类似于:

@interface MyObject : NSManagedObject {

}

@property (nonatomic, retain) NSString *contentFile;
@property (nonatomic, retain) NSString *contentPath;
@property (nonatomic, retain) NSDate *creationDate;
@property (nonatomic, retain) NSString *name;

@end

现在,如果我尝试创建一个对象实例并为 name 属性分配一个值,当我尝试打印回该属性的内容时,它似乎被破坏了。在定义整个核心数据堆栈的 AppDelegate 中,我写道:

MyObject *newObject = [NSEntityDescription insertNewObjectForEntityForName:@"MyObject"                                                
inManagedObjectContext:self.managedObjectContext];

newObject.name = @"Testing";
NSLog([NSString stringWithFormat:@"Name: %s\n", newObject.name]);

我在输出控制台中得到的是

2009-08-24 20:03:55.176 MyApp[15727:20b] Name: ‡}00»

我不明白我是否做错了什么或者是否忘记了什么。请问有人可以帮忙吗?

最佳答案

您需要在 stringWithFormat: 中使用 %@ 格式说明符,因为 NSString 是一个 Objective-C 对象:

NSLog([NSString stringWithFormat:@"Name: %@\n", newObject.name]);

%s 用于 C 字符串 (char*s)。欲了解更多信息,请查看String Format Specifiers .

关于iphone - 访问核心数据实体的 NSString 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1323859/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com