찾다

 >  Q&A  >  본문

ios - runtime中property的赋值问题

unsigned int count;

//在运行时创建继承自NSObject的People类
Class People = objc_allocateClassPair([NSObject class], "People", 0);

//完成People类的创建
objc_registerClassPair(People);

objc_property_attribute_t type = {"T", "@\"NSString\""};
objc_property_attribute_t attribute2 = {"N",""};//value无意义时通常设置为空
objc_property_attribute_t ownership = { "C", "" };
objc_property_attribute_t backingivar = { "V", "_pro"};
objc_property_attribute_t attrs[] = {type,attribute2, ownership, backingivar};

//向People类中添加名为pro的属性,属性的4个特性包含在attributes中
BOOL y = class_addProperty(People, "pro", attrs, 4);
NSLog(@"%d",y);

//创建People对象p1
id p1 = [[People alloc]init];

objc_property_t * properties = class_copyPropertyList(People, &count);
for (int i = 0; i<count; i++) {
    NSLog(@"属性的名称为 : %s",property_getName(properties[i]));
    NSLog(@"属性的特性字符串为: %s",property_getAttributes(properties[i]));
}

//请问怎么为pro赋值?
阿神阿神2771일 전411

모든 응답(3)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-18 09:54:57

    으아아아

    회신하다
    0
  • 迷茫

    迷茫2017-04-18 09:54:57

    추가하신 방법에 따라 이것도 가능합니다

    으아악

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-18 09:54:57

    그들은 모두 훌륭한 전문가입니다. 저는 이러한 구문을 배운 적이 없습니다. Objective-C에서 가장 일반적으로 사용되는 구문은 무엇입니까?
    이 문법은 어떤 지식에 속하나요? 흔히 어디에 사용되나요? 답변 감사합니다~ 멋진 문법을 마스터하고 싶어요~~

    회신하다
    0
  • 취소회신하다