NSString *content  = @"A:zz77777;B:asd;C:xx5;" 
 
Class *obj ; 

 
//class中有若干属性;要遍历这类,把A:后面 “;”号前面 的值 也就是 “zz77777” 
// 付给第一个属性, 依次类推一直到类的最后一个属性 
//...求代码 

解决方案 »

  1.   

    unsigned int outCount;
    objc_property_t *properties = class_copyPropertyList(obj, &outCount);通过下面的代码可以获得类中的所有属性列表:
    id LenderClass = objc_getClass("你的类名");
    unsigned int outCount, i;
    objc_property_t *properties = class_copyPropertyList(LenderClass, &outCount);
    for (i = 0; i < outCount; i++) {
        objc_property_t property = properties[i];
        fprintf(stdout, "%s %s\n", property_getName(property), property_getAttributes(property));
    }试试吧。
      

  2.   

        NSString *content = @"A:zz77777;B:asd;C:xx5;";
        
        NSMutableArray *objectArray = [[NSMutableArray alloc]init ];
        
        NSArray *array1 = [content componentsSeparatedByString:@";"];
        
        for (int i = 0 ; i < [array1 count]; i++) 
        {
            NSString *stc = [array1 objectAtIndex:i];
            NSArray *array2 = [stc componentsSeparatedByString:@":"];
            [objectArray addObject:[array2 lastObject]];
        }
        [objectArray removeObject:[objectArray lastObject]]; 
        objectArray 的数组中就是按ABC分割出来的字符串了
      

  3.   

    如此怪异的字符串表达,还不如用json
    更通用
      

  4.   

    使用正则表达式吧,网上去google就有了