我想在幾個UITableView之間共享一個NSMutableDictionary。重點是,在一個視圖中,我可以添加一個數組作爲值和字典的相應鍵,然後設置SingletonObject的字典屬性。然後在另一個視圖中,我可以通過SingletonObject的屬性訪問字典中的數組。是否有可能有一個NSMutableDictionary作爲SingletonObject的屬性?
對於SingletonObject,在頭文件中,我有這樣的:
@property(nonatomic) NSMutableDictionary * dict;
+(SingletonObject *) sharedManager;
在爲SingletonObject我有這個實現文件:
@synthesize字典;
+(SingletonObject *)sharedManager static = SingletonObject * sharedResourcesObj = nil;
@synchronized(self)
{
if (!sharedResourcesObj)
{
sharedResourcesObj = [[SingletonObject alloc] init];
}
}
return sharedResourcesObj;
}
然後我做了以下我UITTableView類之一
// instantiate the SingletonObject
sharedResourcesObj = [SingletonObject sharedManager];
// instantiate array
NSMutableArray *courseDetails = courseDetails = [[NSMutableArray alloc]init];
// put textview value into temp string
NSString *tempString = tempString = [[NSString alloc]initWithString:[_txtBuildingRoom text]];
// put textview value into array (via temp string)
[courseDetails addObject:tempString];
// set dictionary property of SingletonObject
[sharedResourcesObj.dict setObject:courseDetails forKey:_lblCourse.text];
的問題是,當我打印的一切出去控制檯,一行行,凡事都有一個值並正常工作,除了字典的新值不存在。
當我用下面的代碼檢查字典的值或計數時,計數爲0,字典中沒有對象。
// dictionary count
NSLog(@"%i", sharedResourcesObj.dict.count);
// get from dictionary
NSMutableArray *array = [sharedResourcesObj.dict objectForKey:_lblCourse.text];
// display what is in dictionary
for (id obj in array)
{
NSLog(@"obj: %@", obj);
}
我使用正確的概念在UITableViews之間共享字典嗎?
是否存在一些與我的SingletonObject實現有關的問題?
我之前使用SingletonObject的這個實現來共享標籤之間的整數值,並且完全沒有問題。現在唯一的區別是SingletonObject的屬性不是一個整數,而是一個NSMutableDictionary。
任何人都可以幫忙嗎?
沒有創建字典 – 2013-02-19 06:09:51