2011-08-19 72 views
2

林:ABUnknownPersonViewController崩潰使用此代碼顯示出從被從vCard字符串創建一個人記錄的ABUnknowPersonViewController

- (ABRecordRef)person { 
    if (person == NULL) { 
     ABPersonCreator *creator = [[ABPersonCreator alloc] initWithVcardString:vcardString]; 

     person = creator.person; 
     CFRetain(person); 

     [creator release]; 
    } 

    return person; 
} 

- (UIView *)fullscreenView { 
    unknownPersonController = [[ABUnknownPersonViewController alloc] init]; 

unknownPersonController.displayedPerson = self.person; 
    unknownPersonController.allowsAddingToAddressBook = YES; 
    unknownPersonController.allowsActions = YES; 
    unknownPersonController.unknownPersonViewDelegate = self; 
    return unknownPersonController.view; 
} 

有人可以幫我這個?

THX菲利普

+0

你能告訴你的崩潰日誌? – malinois

+0

***終止應用程序由於未捕獲的異常「NSInternalInconsistencyException」,原因:「 - [__ NSCFDictionary的setObject:forKey:]:突變方法發送到不可變對象」 – plaetzchen

回答

0

不應該有unknownPersonViewController有一個自動釋放,因爲它的視圖的返回?

+0

如果我這樣做的視圖將 – plaetzchen

+0

您使用的合成構件是空人?我最近偶然發現了一個類似的問題,但沒有得到解決。你可以嘗試調試的不是返回控制器的視圖,而是控制器本身。 –

+0

我沒有使用人的合成成員。對不起,我需要返回視圖,所以我不能測試這個。 – plaetzchen

1

的解決了這個問題對我來說是構建ABRecordRef當我沒有通過正確的東西。例如,我試圖簡單地設置一個字符串到一個屬性,而不是想要一個kABMultiStringPropertyType。只有在嘗試啓動UnknownPersonViewController後纔會發生異常。

檢查你的數據類型,並確保你建立了正確的事情。