Reputation: 209
for (int i = 0; i < nCount1; i ++) {
CGatewayMedia * media = (CGatewayMedia *)[GatewayDetail.mcMutableArray objectAtIndex:i];
NSString * zStr1 = [[NSString alloc]initWithFormat:@"%d",media.mnSNO];
NSString * zStr2 = [[NSString alloc]initWithFormat:@"%@",media.mcstrMOrgName];
NSString * zStr3 = [[NSString alloc]initWithFormat:@"%@",media.mcstrUser];
NSString * zStr4 = [[NSString alloc]initWithFormat:@"%@",media.mcstrFType];
NSString * zStr5 = [[NSString alloc]initWithFormat:@"%@",media.mcstrFSize];
NSString * zStr6 = [[NSString alloc]initWithFormat:@"%@",media.mcstrFDate];
NSString * zStr7 = [[NSString alloc]initWithFormat:@"%d",media.mnMedID];
NSString * zStr8 = [[NSString alloc]initWithFormat:@"%@",media.mcstrMedSysName];
CGatewayData * zDataObject = [[CGatewayData alloc]initWithString1:zStr1
andString2:zStr2
andString3:zStr3
andString4:zStr4
andString5:zStr5
andString6:zStr6
andString7:zStr7
andString8:zStr8
];
[mMedia.nsMutaryOfDataObject addObject:zDataObject];
}
mMedia->mcMediaController->nsMutaryOfDataObject = nil;
mMedia->mcMediaController->nsMutaryOfDataObject = [[NSMutableArray alloc]init];
NSPredicate *predicate = [NSPredicate
predicateWithFormat:@"(zDataObject.nsStrName4 == %@) OR (zDataObject.nsStrName4 == %@ )",@"MP3",@"WMA"];*/
mMedia->mcMediaController->nsMutaryOfDataObject = (NSMutableArray*)[mMedia.nsMutaryOfDataObject filteredArrayUsingPredicate:predicate];
i'm not getting expected result ..m i doing right use of prediacte and filteredArrayUsingPredicate?
Upvotes: 0
Views: 546
Reputation: 6147
First of all zStr
strings are leaking. You init them with alloc] init...]
so they have a retain count of +1. After adding them to your CGatewayData object you should release them. And of corse your CGatewayData object should retain them as long as it needs them. Same thing with your zDataObject
.
Take a look at the Memory Management Programming Guide
Second do never nuse -> in Objective-C! You should use properties for that!
Now to your problem. You have to be sure that the path zDataObject.nsStrName4
exists. Means the object accessed by mMedia.nsMutaryOfDataObject
in your code. Should have at least a getter called zDataObject
and I assume it returns a CGatewayData
object. So the CGatewayData
object has to have at least a getter called nsStrName4
.
For details I highly recommend to read the Key-Value Coding Programming Guide
Upvotes: 1