runtime 사용 기교 3

2218 단어 Runtime

runtime 반사 속성 목록:


반사 속성의 용법을 다 말하고...
IOS 네트워크의 요청은 낯설지 않겠지만, 때때로 우리는 서버에 전달해야 할 데이터가 비교적 많다. 이때도 우리runtime가 발휘할 때이다.
직접 코드를 붙이면 구두들이 곧 욕을 할 것 같다.반사 속성 
-(void)createPostDateWithDic{

    NSArray * arr = [self.requestDictionary allKeys];

    for (int i = 0; i < arr.count; i ++) {

        if ([self.requestDictionary objectForKey:[arr objectAtIndex:i]] != nil) {

            [self.mainRequest setPostValue:[self.requestDictionary objectForKey:[arr objectAtIndex:i]] forKey:[arr objectAtIndex:i]];

        }

    };

}



-(void)createPostDateWithModel{

    unsigned int outCount, i;

    objc_property_t *properties = class_copyPropertyList([self.requestModel class], &outCount);

    for (i=0; i<outCount; i++) {

        objc_property_t property = properties[i];

        NSString * key = [[NSString alloc]initWithCString:property_getName(property)  encoding:NSUTF8StringEncoding];

        id value = [self.requestModel valueForKey:key];

        if (value != nil) {

            [self.mainRequest setPostValue:value forKey:key];

        }

    }

}

위의 두 가지 방법은 모두 자신이 봉인한 POST 네트워크 요청에서 사용된 것이다. ASI를 바탕으로 이 두 가지 방법의 사용은 당신의 네트워크 요청 코드를 실현하고 매우 간단하며 효율적이다.
자, 아동화들은 여기까지 믿었습니다. 런타임 반사 속성의 사용법에 대해 많이 알지 못했습니다. 문제가 있습니다. 메시지를 남겨 주시기 바랍니다.귀중한 의견을 많이 제시하다.

좋은 웹페이지 즐겨찾기