Semantische Problem: Incompatible pointer zu integer Konvertierung senden 'NSUInteger *' (aka 'unsigned int *') um die parameter des Typs "NSUInteger'

Also ich bekomme diese Warnung :

Semantic Issue: Incompatible pointer to integer conversion sending 'NSUInteger *' (aka 'unsigned int *') to parameter of type 'NSUInteger' (aka 'unsigned int') 

Grundsätzlich bin ich ziehen in ein JSON-feed.. Durchlaufen zu entsprechen Spalten mit Daten, dann Stelle die Daten in einem Objekt verwendet werden, in eine Zeile in der Tabelle...

NSDictionary *js_result = [response JSONValue];

NSLog(@"This is the LIST: %@",[js_result objectForKey:@"LIST"]);
// get columns
NSArray *columns = [[js_result objectForKey:@"LIST"] componentsSeparatedByString:@","];
// get data
NSArray *rows = [[js_result objectForKey:@"QUERY"] objectForKey:@"DATA"];



NSUInteger *study_id_int = (NSUInteger *)[columns indexOfObject:@"STUDY_ID_DICOM"];
NSUInteger *study_desc_int = (NSUInteger *)[columns indexOfObject:@"STUDY_DESCRIPTION"];
NSUInteger *study_date_int = (NSUInteger *)[columns indexOfObject:@"STUDY_DATETIME"];
NSUInteger *modality_int = (NSUInteger *)[columns indexOfObject:@"MODALITY"];
NSUInteger *referring_physician_name_int = (NSUInteger *)[columns indexOfObject:@"REFERRING_PHYSICIANS_NAME"];
NSUInteger *patient_id_dicom_int = (NSUInteger *)[columns indexOfObject:@"PATIENT_ID_DICOM"];
NSUInteger *patient_name_int = (NSUInteger *)[columns indexOfObject:@"PATIENT_NAME"];
NSUInteger *birth_date_int = (NSUInteger *)[columns indexOfObject:@"BIRTH_DATE"];
NSUInteger *institution_name_int = (NSUInteger *)[columns indexOfObject:@"INSTITUTION_NAME"];
NSUInteger *study_recvd_datetime_int = (NSUInteger *)[columns indexOfObject:@"STUDY_RECVD_DATETIME"];
NSUInteger *image_count_int = (NSUInteger *)[columns indexOfObject:@"Image_Count"];
NSUInteger *patient_study_count_int = (NSUInteger *)[columns indexOfObject:@"PATIENT_STUDY_COUNT"];



StudyListRow *StudyRow = [[StudyListRow alloc] init];

for(NSMutableArray *i in rows)
{
    NSLog(@"ROW DATA: %@",i);
    StudyListRow *StudyRow = [[StudyListRow alloc] init];
    StudyRow.study_id_dicom = (NSString *)[i objectAtIndex:study_id_int];
    StudyRow.study_description = [i objectAtIndex:study_desc_int];
    StudyRow.study_datetime = [i objectAtIndex:study_date_int];
    StudyRow.modality = [i objectAtIndex:modality_int];
    StudyRow.referring_physician_name = [i objectAtIndex:referring_physician_name_int];
    StudyRow.patient_id_dicom = [i objectAtIndex:patient_id_dicom_int];
    StudyRow.patient_name = [i objectAtIndex:patient_name_int];
    StudyRow.birth_date = [i objectAtIndex:birth_date_int];
    StudyRow.institution_name = [i objectAtIndex:institution_name_int];
    StudyRow.study_recvd_datetime = [i objectAtIndex:study_recvd_datetime_int];
    StudyRow.image_count = [i objectAtIndex:image_count_int];
    StudyRow.patient_study_count = [i objectAtIndex:patient_study_count_int];



}

Jeder der StudyRow.... Zeilen gibt die Warnung.. und ich habe keine Ahnung, warum.. Ideen?

Wenn Sie tatsächlich Lesen Sie die Warnmeldung, Sie sagt Ihnen, warum - "sending" NSUInteger *' (aka 'unsigned int *') um die parameter des Typs "NSUInteger'" ich.e Sie sind übergabe von Zeigern anstelle von Objekten.
Ich habe gelesen, dass die Warnung.. aber neu hier.. ich lese es wie das senden einer NSUinteger zu einem NSUinteger.. hab ich gar nicht bemerkt *...
Hier ist das eigentliche problem: Du hast eine Warnung, sondern begann sich mit der Annahme, dass es etwas seltsam über die Warnung. Die erste Annahme sollte sein, dass es etwas falsch mit dem code, und die Warnung wird Ihnen sagen, was falsch ist.

InformationsquelleAutor Critter | 2011-02-08

Schreibe einen Kommentar