2014-11-06 81 views
0

字典來的NSMutableArray我有一個OBJ-C超,與添加從迅速

@property (strong, nonatomic) NSMutableArray *sectionChanges; 

而且在斯威夫特我想添加一個詞典吧:

self.sectionChanges.addObject([NSFetchedResultsChangeType.Insert: 1]) 

我們得到

'AnyObject' does not have a member named 'Key' 

我試了很多選擇:

self.sectionChanges.addObject([NSFetchedResultsChangeType.Insert: 1] as NSDictionary) 

改變了錯誤

Type 'NSFetchedResultsChangeType' does not conform to protocol 'NSCopying' 

然後我嘗試:

self.sectionChanges.addObject([Int(NSFetchedResultsChangeType.Insert): 1] as NSDictionary) 

,並得到:

Cannot invoke 'init' with an argument of type 'NSDictionary' 

在Obj-暗戰選項...然後,同樣的代碼c很簡單:

[self.sectionChanges addObject:@{@(type): @(sectionIndex)}]; 

回答

1

「雨燕進口作爲雨燕枚舉任何C風格的枚舉與NS_ENUM宏標 。」

摘自:「使用斯威夫特與可可和Objective-C」蘋果公司的iBooks 。 https://itun.es/tw/1u3-0.l

所以NSFetchedResultsChangeType是斯威夫特枚舉現在,你不能將它傳遞給Objetive-C。

你可能想試試這個:

self.sectionChanges.addObject([NSFetchedResultsChangeType.Insert.rawValue: 1]) 
+0

謝謝!哦,對於那些有用的錯誤消息,甚至沒有認爲問題是與枚舉 – mcfedr 2014-11-06 16:17:10