2012-08-20 2 views
1
- (void)saveCollectionMoment:(NSArray *)collectionMoments 
{ 
    for (NSDictionary *momentData in collectionMoments) { 

     int mID = [[momentData objectForKey:@"mID"] intValue]; 

     FMDBDataAccess *db = [[FMDBDataAccess alloc] init]; 
     [db insertMoment:mID toCollection: cID]; 
    } 
} 

위의 JSON 리턴에서 제공하는 ID를 가지고 FMDB 중반와 CID 모두에게 내가 함께 SQLite 데이터베이스 테이블을 업데이트 사용하도록되어 하지만 얻을 다음과 같은 오류입니다.의 Obj-C 오류 "컬렉션 *에 지능의 암시 적 변환 ARC으로 허용되지

에 'INT' '순간 *'의

암시 적 변환이 어떤 도움을 기꺼이받을 것

ARC으로 허용되지 않습니다.

+0

FMDBDataAccess 란 무엇입니까? – Mark

+0

'insertMoment : toCollection :'메소드는 첫 번째 매개 변수로'int'를 기대하지 않고,'Moment' 클래스의 인스턴스를 기대합니다. –

답변

4

문제는 insertMoment:toCollection:Moment* 개체를 첫 번째 인수로 사용하고 대신 정수 ID를 전달하려고한다는 것입니다.

당신은, 또는 insertMoment:toCollection: 메소드를 호출하기 전에 MomentID하여 Moment*을 가져 오는에 의해 insertMoment:toCollection:는 첫 번째 인수로 정수 MomentID을 받아 들일 수 있도록하거나 코드를 변경해야합니다.

+0

Moment * do 여기 포인터를 사용해야한다는 뜻인가요? –

+0

@JustinErswell'Moment'는 Objective-C 오브젝트라고 가정하고 Objective-C 오브젝트는 항상 포인터를 통해 액세스합니다. – dasblinkenlight