2015-04-21 26 views
0

我在我的應用程序中運行xcode分析時收到警告。API MISUSE(APPLE)'NSMutableArray'方法'addObject:'的參數不能爲零

'NSMutableArray'方法'addObject:'的參數不能爲零。

我收到錯誤,當我嘗試將一個對象添加到數組。我哪裏錯了?

while(sqlite3_step(statement) == SQLITE_ROW) 
{ 
NSLog(@"sqlite3_step"); 
imageUrlField = ((char *)sqlite3_column_text(statement, 0))? 
[NSString stringWithUTF8String 
(char*)sqlite3_column_text(statement,0)]: 
nil; 

imageTitleField = ((char*)sqlite3_column_text(statement,1)) ? 
[NSString stringWithUTF8String: 
(char*)sqlite3_column_text(statement,1)] : 
nil; 

lat = ((char *)sqlite3_column_text(statement,2)) ? 
    [NSString stringWithUTF8String: 
    (char *)sqlite3_column_text(statement,2)] : 
    nil; 

lon = ((char *)sqlite3_column_text(statement,3)) ? 
[NSString stringWithUTF8String: 
(char*)sqlite3_column_text(statement,3)]: 
nil; 

id1 = ((char *)sqlite3_column_text(statement,4)) ? 
[NSString stringWithUTF8String: 
(char *)sqlite3_column_text(statement,4)] : 
      nil; 

visited = ((char *)sqlite3_column_text(statement,5)) ? 
[NSString stringWithUTF8String: 
    (char *)sqlite3_column_text(statement,5)] : 
      nil; 
      if(imageUrlField == nil) 
      { 
       NSLog(@"null"); 

      } else 
      { 
       [imageAndTitleArray addObject:imageUrlField]; 
       [imageAndTitleArray addObject:imageTitleField]; 
       [imageAndTitleArray addObject:lat]; 
       [imageAndTitleArray addObject:lon]; 
       [imageAndTitleArray addObject:id1]; 
       [imageAndTitleArray addObject:visited]; 

       // NSLog(@"url:%@",imageUrlField); 
      // NSLog(@"title:%@",imageTitleField); 
      // NSLog(@"lat:%@",lat); 
      // NSLog(@"lon:%@",lon); 
      // NSLog(@"lon:%@",id1); 
      } 

     } 
+0

有MENY值可以是你應該檢查字符串不是零它添加到

NSMutableArray as if(imageUrlField != nil) [imageAndTitleArray addObject:imageUrlField]; if(imageTitleField != nil) [imageAndTitleArray addObject:imageTitleField]; if(lat != nil) [imageAndTitleArray addObject:lat]; //like so for others if(visited != nil) [imageAndTitleArray addObject:visited]; 

前'nil',根據你的代碼...我會用'[... addObject:?:@「」]替換'[... addObject:];'''無論如何進入陣列,就像例如'[imageAndTitleArray addObject:lat?:@「」];' – holex

回答

1

你不能在NSMutableArray加零,所以如果你的字符串實例是零,您要添加它們在NSMutableArray,您將獲得API濫用(API MISUSE(APPLE) Argument to 'NSMutableArray' method 'addObject:' cannot be nil)的上述錯誤。

如果出於任何情況下,你需要在NSMutableArray添加null比你可以使用[array addObject:[NSNull null]];

相關問題