我不想返回manch
,因爲如果我autorelease
之前,我將它返回它,它變得對他人無效。所以我想這:返回一個nsmutuableArray作爲一個指針,這是一個可變映射
classA
-(NSMutableArray*)set:(NSMutableArray*)data
{
manch= [[data mutableCopy]autorelease] ;
int count=2*[data count]; //to not enter infinity loop
for(int k=0;k< count;k=k+2)
{
if(k==count-1)
[manch addObject:[NSNumber numberWithInt:![[manch objectAtIndex:k] integerValue] ] ];
}
data=[manch mutuableCopy];
return data;
}
我的目標是創建一個類,得到一個NSMutuableArray
做一些計算,比退貨,並不應依賴於這類了。
編輯:
隨着人們在這裏問。在另一個CLASSB(上述方法的用戶) ,我有在接口:
NSMutuableArray *data ;
和.m文件init方法我有
data=[[NSMutuableArray alloc]init];
使用該函數從我的問題,我這樣做:
mIns=[[classA alloc]init];
data= [mIns set:[self decimalToBinary:autoWord]];
比我寬鬆data
以後。
我認爲你並不清楚autoreleasing如何工作。從函數返回一個自動釋放的對象是好的。接收者(呼叫者)將不得不保留它以保留它。 – DrummerB
請發表實際的代碼;這是不可能的,如圖所示(拼寫錯誤等)。 (是的,返回一個自動釋放對象是好的,實際上你應該在這種情況下做什麼。) – Arkku
順便說一句,你是否考慮切換到[自動引用計數(ARC)](http://developer.apple .COM /庫/ IOS /#閱讀發佈/的ObjectiveC/RN-TransitioningToARC /簡介/ Introduction.html)? – DrummerB