2014-02-24 50 views
0

我在分配零值時得到'表達式不可分配'錯誤。以下是代碼。表達式不可分配的錯誤

-(void)connect{ 
    RTMPCLient *socket = [[RTMPClient alloc] init]; 
    NSMutableDictionary *stream = [NSMutableDictionary dictionaryWithObject:socket forKey:@"1"]; 
} 
-(void)disconnect{ 
    [stream objectForKey:@"1"] = nil; //error on this line 
} 

我想將nil賦給套接字對象而不存儲它另一個變量。我該如何解決這個問題?

回答

0

A NSArrayNSDictionary不能包含空值...您可以使用[NSNull null]。 但我建議你刪除這個對象,而不是把零...

0

你正在使用錯誤的方法。使用

[stream setObject:[NSNull null] forKey:@"1"] 

stream[@"1"] = [NSNull null] 
+0

我試過了......我想讓保留計數= 0。不知道如何 – user2955351

+0

舊對象將在這裏發佈 – Avt

0

我不知道,但是,你爲什麼不使用

[流removeObjectForKey:@ 「1」];

+0

從流中刪除它後,dealloc套接字。這應該做到這一點。 –

+0

是的,這是可以做到的,但我該如何引用該對象,因爲會創建許多具有相同名稱的實例? – user2955351

+0

爲什麼你說有很多同名的實例被創建? –

相關問題