@@ -968,26 +968,28 @@ + (void)getSelfPropertys:(NSMutableArray *)pronames protypes:(NSMutableArray *)p
968
968
NSString * propertyClassName = nil ;
969
969
if ([propertyType hasPrefix: @" T@" ]) {
970
970
971
- NSRange range = NSMakeRange ( 3 , MAX ( 0 , [propertyType rangeOfString: @" ," ]. location - 4 )) ;
972
- if (range.location + range.length <= propertyType.length )
971
+ NSRange range = [propertyType rangeOfString: @" ," ];
972
+ if (range.location > 4 && range.location <= propertyType.length )
973
973
{
974
+ range = NSMakeRange (3 ,range.location - 4 );
974
975
propertyClassName = [propertyType substringWithRange: range];
975
976
if ([propertyClassName hasSuffix: @" >" ])
976
977
{
977
- NSRange range = [propertyClassName rangeOfString: @" <" ];
978
- if (range .length >0 )
978
+ NSRange categoryRange = [propertyClassName rangeOfString: @" <" ];
979
+ if (categoryRange .length >0 )
979
980
{
980
- propertyClassName = [propertyClassName substringToIndex: range .location];
981
+ propertyClassName = [propertyClassName substringToIndex: categoryRange .location];
981
982
}
982
983
}
983
984
}
984
985
}
985
986
else if ([propertyType hasPrefix: @" T{" ])
986
987
{
987
- NSRange range = NSMakeRange ( 2 , [propertyType rangeOfString: @" =" ]. location - 2 ) ;
988
- if (range.location + range.length <= propertyType.length )
988
+ NSRange range = [propertyType rangeOfString: @" =" ];
989
+ if (range.location > 2 && range.location <= propertyType.length )
989
990
{
990
- propertyClassName = [propertyType substringWithRange: range];
991
+ range = NSMakeRange (2 , range.location -2 );
992
+ propertyClassName = [propertyType substringWithRange: range];
991
993
}
992
994
}
993
995
else
@@ -1019,15 +1021,14 @@ + (void)getSelfPropertys:(NSMutableArray *)pronames protypes:(NSMutableArray *)p
1019
1021
}
1020
1022
}
1021
1023
1022
- if (propertyClassName. length == 0 )
1024
+ if ([LKDBUtils checkStringIsEmpty: propertyClassName] )
1023
1025
{
1024
1026
// /没找到具体的属性就放弃
1025
1027
continue ;
1026
1028
}
1027
1029
// /添加属性
1028
1030
[pronames addObject: propertyName];
1029
1031
[protypes addObject: propertyClassName];
1030
-
1031
1032
}
1032
1033
respondInstance = nil ;
1033
1034
free (properties);
0 commit comments