2016-09-29 60 views
0

我有點迷惑,append和addObject有什麼區別。append和addObject +有什麼區別+比較兩個日期

我在我的代碼中使用了兩個,但混淆了它們之間的區別。

ADDOBJECT

self.dateArrayServer.addObject(date as! String) 

追加

dateArrayCalendar.append(dateFormatatter.stringFromDate(dateStart)) 

而第二個問題是

嗨, 我嘗試比較兩個日期 -

dateArrayForCompare是我從NSDate獲得的日期,而dateArrayServer是我從json響應中獲得的日期。

var dateArrayServer = NSMutableArray() 
var dateArrayCalendar = NSMutableArray() 
var dateArrayForCompare = NSMutableArray() 



let dateHomework:NSArray = allAsign.valueForKey("date") as! NSArray 
let homeWork = allAsign.valueForKey("assignmenttype") as! NSArray  

for date in dateHomework{ 
self.dateArrayServer.addObject(date as! String) 
     } 


let sys_date = NSDate() 
         print("System Date: \(sys_date)") 
         let df = NSDateFormatter() 
         df.dateFormat = "dd-MM-yyyy" 
         let currentDate = df.stringFromDate(sys_date) 
         print("String Date: \(currentDate)") 

         for dt in 0...self.dateArrayServer.count-1 
         { 
          if(self.dateArrayServer.objectAtIndex(dt) .isEqualToString("\(self.dateArrayForCompare)")) 
          { 
           print("Assignment on date: \(self.dateArrayServer.objectAtIndex(dt)) are:\n\(allAsign.objectAtIndex(dt))") 
          }else 
          { 
           print("\(self.dateArrayServer.objectAtIndex(dt)) doesn't match with \(self.dateArrayForCompare) ") 
          } 
         } 

,但得到這個result-

enter image description here

+0

什麼數據類型是'dateArrayCalendar'? –

+0

這不是使用NSMutableArray和Swift數組之間的區別嗎? – Fonix

+0

** var dateArrayCalendar = [String]()** – iDeveloper

回答

0

Add(anObject: Any)NSMutableArray等於Append(element: Element)array

附加在文件:

Adds a new element at the end of the array. 

    Use this method to append a single element to the end of a mutable array. 

     var numbers = [1, 2, 3, 4, 5] 
     numbers.append(100) 
     print(numbers) 
     // Prints "[1, 2, 3, 4, 5, 100]" 

    Because arrays increase their allocated capacity using an exponential 
    strategy, appending a single element to an array is an O(1) operation 
    when averaged over many calls to the `append(_:)` method. When an array 
    has additional capacity and is not sharing its storage with another 
    instance, appending an element is O(1). When an array needs to 
    reallocate storage before appending or its storage is shared with 
    another copy, appending is O(*n*), where *n* is the length of the array. 

    - Parameter newElement: The element to append to the array. 

    - Complexity: Amortized O(1) over many additions. If the array uses a 
     bridged `NSArray` instance as its storage, the efficiency is 
     unspecified. 

在文檔中添加對象:

The object to add to the end of the array’s content. This value must not be nil. 
0

追加和ADDOBJECT區別

追加:它追加你的陣列有多個項目,如用於EXA

var cityArray: String[] = ["Portland","San Francisco","Cupertino","Seattle"] 
cityArray.append(["Vancouver", "Los Angeles", "Eugene"]) 

在附加您可以添加多個元素在一個時間

有一個屬性appendContentsof(「collectiontype或sequencet YPE元件「)與它可以添加多個元件

ADDOBJECT:它在一次添加一個對象在陣列

的端部,但注意到的NSArray和NSMutableArray裏不具有屬性附加關鍵字 ,所以你不能在這種類型的數組中使用append

0

append和addobject之間的主要區別與示例。

你已經知道NSArray的的NSMutableArray之間的差異。 NSArray是一個固定的數組,而NSMutablearray是動態的數組意味着你可以在運行時增加這個數組的大小,所以它取決於你的要求哪一個是最好的。因爲如果你使用的NSArray意味着你沒有要求增加運行時間的價值,那麼你可以使用NSArray 追加和在運行時間你想增加的價值,那麼你可以使用NSMutablearray和addobject:

NSArray當你使用數組時,你可以像這樣使用append對象。

var str1:String = "John" 
var str2:String = "Bob" 
var myArray = ["Steve", "Bill", "Linus", "Bret"] 
myArray.append(str1) 
myArray.append(str2) 

的NSMutableArray當您使用的NSMutableArray那麼你可以使用ADDOBJECT

var myArray1 : NSMutableArray = ["Hello"] 
myArray1.addObject(str1) 
2

不是一個主要的不同,但我想我可以解釋它。 在swift中的兩個數據類型聲明第一個「let」和「var」這兩個類型接受所有類型的數據。 但是每當你在「var」中添加數組但沒有聲明這是NSArray或NSMutableArray,那麼你將任何對象放在最後的位置,然後你使用append。 澳鵬是像 「+ =」 操作符,因此加上最後一個位置

var Array = ["1","2"] 
Array.append(["3"]) 

//Result :- "1","2","3" 

該值,但聲明爲

NSMutableArray or NSArray 

則必須使用ADDOBJECT像

var Array = NSMutableArray() 
Array.addObject("1") 
Array.addObject("2") 
Array.addObject("3") 

//Result :- "1","2","3" 

及其它不同

  1. app最後是得到並放在最後一個索引。
  2. ADDOBJECT是拿到對象,換上最後一個索引

和價值,對象有不同的含義。

+0

代碼片段用於JS。使用其他語言的通用代碼塊 – NSNoob