ios - objective-c - 获取指向对象属性的指针

标签 ios objective-c cocoa-touch pointers

我有一个对象 Activity,它具有三个 NSString 属性 activityName, activityType, activityDescription

我想做这样的事情

NSString *currentProperty = activity.activityDescription;
currentProperty = @"My description";

并使 activity.activityDescription 在我更改 currentProperty 时自动更新

我认为这应该是可能的,因为我使用的是指针,但实际上它不起作用。我做错了什么?

最佳答案

这正是键值编码 (KVC) 的用途。示例:

NSString *currentKey = @"activityDescription";

NSString *oldDescription = [myActivity valueForKey:currentKey];
[myActivity setValue:@"My Description" forKey:currentKey];

您不使用指针(在 C 语言中),而是使用 NSString 类型的键。您可以使用 KVC 获取和设置对象的任意属性。

Apple's guide包含所有详细信息。

关于ios - objective-c - 获取指向对象属性的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22170752/

相关文章:

ios - 为UIImagePickerController设置等效的标签

ios - 如果负载中缺少锁定 key ,推送通知是否会显示

ios - 声明方法不可用,因为 swift 5 中的特定 iOS 版本

iphone - 如何在 Interface Builder 中输入 RGB 值?

ios - 切出一个 UIImage 以适应 UIImageView

ios - 当另一个应用程序错误地定义 UTI 时如何解决?

iphone - AFNetworking 2.0 向 GET 请求添加 header

ios - 通过 XIB 文件在 tableView 到DetailedTableView 之间导航

iphone - 单击表格单元格时的阴影背景

objective-c - 失败,但没有返回错误对象。为什么?