问题标签 [kvc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何反序列化来自 RESTful Web 服务的 JSON 响应?
我正在尝试实现一个简单的命令行 Java 应用程序,该应用程序从 RESTful Web 服务请求一些资源。有没有办法自动将 JSON 响应反序列化到我的模型类中?
在 Objective-C 中有 Key-Value-Coding 允许您通过字符串表示创建对象、访问变量和方法。这可用于将 XML 或 JSON 文档自动反序列化为对象,这是由一些第三方库完成的,例如 RestKit。
Java有类似的东西吗?我知道我可以使用 JSON 解析器来获取文档的数组和映射表示,然后自己创建模型对象,但我想知道这是否可以自动化?
我昨天整个晚上都在寻找图书馆、教程和用户指南。他们都在解释如何构建一个 RESTful web 服务,或者如果它是一个客户端应用程序,他们所做的只是下载一些 JSON 并将其打印到系统中。
objective-c - How can I access non-KVC compliant properties with just their name?
Context: I have several CGPathRef's in a custom class, derived from NSObject, named model
. I'm looking for a way to return a specific CGPathRef, based one a string I generate at runtime.
Simplified Example, if I could use KVC:
Question: How can I access non-KVC compliant properties (CGPathRef) with just their name represented as a string?
objective-c - 如何获取对在 Objective-C 中实例化第二个对象的对象的引用?
A 有一个对象(secondObject),它是 NSObject 的子类的一个实例,并且在 secondObject 中,我想获得对实例化 secondObject 的对象(firstObject)的引用。
例子:
在 FirstObject.m(UIViewController 的子类)中
在 SecondObject.m 中
我正在寻找类似于 viewControllers 的 .parentViewController 属性的东西
我一直在研究 KeyValueCoding,但一直没能找到解决方案。
我实现的解决方法是在 secondObject.m 中创建一个 initWithParent:(id)parent 方法,然后在实例化时传递 self 。
在 SecondObject.m 中
然后实例化fisrtObject.m中的对象如下
有没有更直接的方法来做到这一点?
Rgds....恩里克
ios - NSMutableArray 中的 NSMutableDictionary 使用 KVC
我有一个字典输入数组:
我想要这样的输出字典:
我尝试了什么:
distinct times
我成功地得到了一个使用这条线的数组:
然后使用 for 内部的谓词for loop
,arrTempKeys
获取所有具有相同time
值的字典:
最后,我将其分配arrTemp
为 Key 的 Objecttime
并获得了所需的结果。
我想要的是 :
我知道还有很多其他方法可以得到这个输出。但我只想知道是否有任何单一的KVC
编码行或任何其他最佳方式可以做这件事。
objective-c - 向 self 添加 KVO 观察者会导致内存泄漏吗?
在 nsobject 中,您有一个要观察自身的属性“keyPath”并使用
上述行会导致保留周期吗?
我提出这个问题是因为我想知道它是否是重写一堆 setter 函数的可行替代方案。
objective-c - Why variables and methods are passed as strings in objective-c?
As an iOS developer with a basic experience in C++ I am comparing many features of the languages. I'm wondering why variable names in this sample snippet of code:
are passed as a @"string", not by pointer for example?
objective-c - NSManagedObject valueforkey 从访问器方法中给出错误/不同的值
我有一个名为 File 的 NSManagedObject 子类。文件类有一个名为“deleted”的属性,它是 xcdatamodel 文件中的布尔值和 File.h 中的 NSNumber。当值设置为 1 时会发生奇怪的事情。访问器方法 file.deleted/[file deleted] 都返回 1。当我调用 [file valueForKey:@"deleted"] 时,它返回 0。当我在控制台中将它作为整个对象打印时它也是 0(例如 po文件或使用 NSLog() )。此外,它不会在删除一些文件的数组上的“filteredArrayUsingPredicate”上使用 NSPredicate“deleted=1”进行过滤。我想知道我在做什么来获得这种不一致的行为。
json - Restkit 映射 - 没有响应描述符与加载的响应匹配
我是 RestKit 和 Objective C 的新手。我正在尝试使用 RestKit 从 Web 服务中检索数据。我已经完成了映射,但有些我得到的错误是它找不到响应的匹配项。我使用没有 KVC 的映射,因为 JSON 格式没有密钥。
这是映射实现
我正在尝试仅使用一个值来查看是否有任何匹配项。下面是响应描述符
我一直在阅读文档并尝试各种方法,但对此我仍然有零解决方案。有人有什么想法吗?
附件是一个示例 JSON 返回。
添加了跟踪日志
ios - 计算中的 BOOL 属性使用 valueForKey 返回具有不正确值的 NSNumber:
我有一个简单的对象,它有一个 NSNumber 用于存储一些标志。我有一个 conienience getter 方法,它实际上可以:
对于一个属性@property (readonly, nonatomic, assign) BOOL someConstantFlag
这在访问基础布尔值时可以正常工作
但是当我尝试
然后它返回一个错误的布尔表示,例如值为 2、4 等的 NSNumber。为什么当属性声明为 BOOL 时会发生这种情况?有没有一种“漂亮”的方法来克服这个问题?
另一方面,包装工作正常:
ios - KVC点键问题
我创建类:
另一个是它的属性:
然后我尝试使用KVC来获得像这样的“platformVersion”
它崩溃并出现错误:
由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[valueForUndefinedKey:]:此类不符合关键平台.平台版本的关键值编码。”
我究竟做错了什么?
更新:valueForKeyPath:
而不是valueForKey
也不起作用 - 无论如何都会崩溃。