如何从 Swift 中的 Objective-C 访问 NSMutableArray
How to access NSMutableArray from Objective-C in Swift
我在 Objective-C 中创建了一个名为 events 的 array
,我希望能够将事件添加到 Swift 中的数组。这是我在 Objective-C 中对 属性 的声明:
@property (nonatomic, strong) NSMutableArray *events;
这是我在 Swift 文件中对数组的用法。
var objectC = DPCalendarTestStoryboardViewController()
@IBAction func addMedicine(sender: AnyObject) {
objectC.events = [].mutableCopy
var event: DPCalendarEvent = DPCalendarEvent(title: nameText.text, startTime: startDatePicker.date, endTime: startDatePicker.date, colorIndex: 2)
objectC.events.append(event)
}
错误信息如下:
Value of type 'DPCalendarTestStoryboardViewController' has no member 'events'
Objective-C NSMutableArray 和 Swift Array 不同。您仍然可以在 Swift.
中使用 NSMutableArray 及其所有方法
将代码替换为
@IBAction func addMedicine(sender: AnyObject) {
objectC.events = NSMutableArray()
var event: DPCalendarEvent = DPCalendarEvent(title: nameText.text, startTime: startDatePicker.date, endTime: startDatePicker.date, colorIndex: 2)
objectC.events.addObject(event)
}
并且您还需要在 .h 文件中声明事件 属性 和
使用故事板参考实例化您的 DPCalendarTestStoryboardViewControllerviewController
var objectC = UIStoryboard(name: "storyboardNameHere", bundle: nil).instantiateViewControllerWithIdentifier("viewControllerIdentifier") as? DPCalendarTestStoryboardViewController
我在 Objective-C 中创建了一个名为 events 的 array
,我希望能够将事件添加到 Swift 中的数组。这是我在 Objective-C 中对 属性 的声明:
@property (nonatomic, strong) NSMutableArray *events;
这是我在 Swift 文件中对数组的用法。
var objectC = DPCalendarTestStoryboardViewController()
@IBAction func addMedicine(sender: AnyObject) {
objectC.events = [].mutableCopy
var event: DPCalendarEvent = DPCalendarEvent(title: nameText.text, startTime: startDatePicker.date, endTime: startDatePicker.date, colorIndex: 2)
objectC.events.append(event)
}
错误信息如下:
Value of type 'DPCalendarTestStoryboardViewController' has no member 'events'
Objective-C NSMutableArray 和 Swift Array 不同。您仍然可以在 Swift.
中使用 NSMutableArray 及其所有方法将代码替换为
@IBAction func addMedicine(sender: AnyObject) {
objectC.events = NSMutableArray()
var event: DPCalendarEvent = DPCalendarEvent(title: nameText.text, startTime: startDatePicker.date, endTime: startDatePicker.date, colorIndex: 2)
objectC.events.addObject(event)
}
并且您还需要在 .h 文件中声明事件 属性 和
使用故事板参考实例化您的 DPCalendarTestStoryboardViewControllerviewController
var objectC = UIStoryboard(name: "storyboardNameHere", bundle: nil).instantiateViewControllerWithIdentifier("viewControllerIdentifier") as? DPCalendarTestStoryboardViewController