Nic*_*cer 5 core-data objective-c nsurl
我开始玩核心数据,只是有一个关于存储类似URL的问题.
我目前得到它配置为这是工作的罚款变形,但是我觉得它可能存储多余的数据和不必要的,因为它可以用文字我不知道我是否应该只存储绝对URL作为一个字符串,并很容易地表示在加载时实例化NSURL对象(我怀疑是这种情况),如果是这样,应如何实现?
到目前为止,我的研究让我想到可能使用mogenerator然后只是覆盖属性访问器来处理字符串和NSURL之间的转换.只想了解一下这种情况或正常情况如何,或者我是否只是为自己制造困难甚至打扰.
干杯尼克
Mik*_*lah 10
答案在某种程度上取决于URL实际上是什么.
fileURL使用NSURL例程来生成书签数据并存储它.这使您可以灵活地移动文件,并且可以包括沙盒应用程序的安全范围.
您可以选择存储:
-absoluteStringCFURLGetBytes()NSCoder如果你有一个由a组成的URL -baseURL并希望保留这些知识,那么最后一个可能是有用的.
根据是否使用 Monogenerator,我将使用第二种方法。覆盖“getters”和“setters”,执行从 URL 到字符串的映射
NSString *urlString = [url absoluteString];
Run Code Online (Sandbox Code Playgroud)
并使用setPrimitiveValue:forKey:及其对应项,例如
- (void)setYourURL:(NSURL*)newURL {
[self willChangeValueForKey:@"yourURL"]; // call to notify the world you are modifying that property
NSString* yourURLAsString = // perform the conversion here...
[self setPrimitiveValue:yourURLAsString forKey:@"yourURL"];
[self didChangeValueForKey:@"yourURL"]; // call to notify the world you've modified that property
}
Run Code Online (Sandbox Code Playgroud)
如果您的 URL 有空格,您可能还想将其替换为stringByReplacingPercentEscapesUsingEncoding:。
| 归档时间: |
|
| 查看次数: |
4459 次 |
| 最近记录: |