我有点困惑,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) ")
}
}
但得到这个结果 -
答案 0 :(得分:4)
不是一个主要的不同,但我想我可以解释它。 在swift中,两个数据类型声明第一个“let”和“var”这两个类型接受所有类型的数据。 但无论何时在“var”中添加数组但未声明这是NSArray或NSMutableArray,然后将任何对象放在其中的最后位置,然后使用append。 appen就像“+ =”运算符,所以它在最后位置添加该值
var Array = ["1","2"]
Array.append(["3"])
//Result :- "1","2","3"
但你声明为
NSMutableArray or NSArray
然后你必须使用addObject like
var Array = NSMutableArray()
Array.addObject("1")
Array.addObject("2")
Array.addObject("3")
//Result :- "1","2","3"
和其他不同的
和价值和对象有不同的含义。
答案 1 :(得分:0)
Add(anObject: Any)
上的{p> 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.
答案 2 :(得分:0)
append和addObject之间的区别
追加:它会为您的数组添加多个项目,例如exa
var cityArray: String[] = ["Portland","San Francisco","Cupertino","Seattle"]
cityArray.append(["Vancouver", "Los Angeles", "Eugene"])
在附加中,您可以一次添加多个元素
有一个属性appendContentsof(“collectiontype或sequencetype element”),你可以添加多个元素
AddObject :它在数组末尾添加一个对象
但请注意NSArray和NSMutableArray没有属性追加关键字,所以你不能在这种类型的数组中使用append
答案 3 :(得分:0)
附加和addobject与示例之间的主要区别。
您已经知道 NSArray 和 NSMutableArray 之间的区别。 NSArray是一个固定数组,NSMutablearray是动态数组意味着您可以在运行时增加此数组的大小,因此它取决于您的要求哪一个是最好的。因为如果您使用NSArray意味着您不需要在运行时增加值,那么您可以将NSArray与追加一起使用,并且在运行时您希望增加该值然后您可以使用NSMutablearray和 addobject:。
NSArray 当您使用数组时,您可以使用这样的追加对象。
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)