所以我得到這個警告:語義問題:不兼容的指針整數轉換髮送「NSUInteger *」(又名「無符號整數*」),以類型的參數「NSUInteger」
Semantic Issue: Incompatible pointer to integer conversion sending 'NSUInteger *' (aka 'unsigned int *') to parameter of type 'NSUInteger' (aka 'unsigned int')
基本上我拉在一個JSON飼料..通過它循環,以匹配列了的數據,然後將數據在表中的行要使用的對象...
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];
}
每個StudyRow的....線條給出了警告..和我hav不知道爲什麼..想法?
如果實際閱讀警告,它會告訴您爲什麼 - 「將'NSUInteger *'(又名'unsigned int *')發送給類型爲'NSUInteger'的參數」,即您正在傳遞指針而不是對象。 – Abizern 2011-02-08 21:35:11
我讀過警告..但是對這一切都是新的..我把它看作是發送一個NSUinteger到一個NSUinteger ..我甚至沒有注意到* ... – Critter 2011-02-08 22:04:16
這是真正的問題:你有一個警告,但開始假設警告有些奇怪的事情。最初的假設應該是代碼有問題,並且警告會告訴你什麼是錯誤的。 – gnasher729 2014-05-27 16:45:27