Swift 3.0


(Marco S Hyman) #1

Is this the appropriate list to ask questions regarding the 3.0 snapshots?

I’ve hand converted a small OS X app such that it compiles using the 2016-04-12 snapshot to get a feel for the changes. Now I’m trying to get it to run.

Marc


(Dennis Weissmann) #2

Hey Marc,

You didn’t explicitly state the problem you’re running into but I assume you can’t build the app.

As others have noticed (http://comments.gmane.org/gmane.comp.lang.swift.user/1689) the latest development snapshot is broken.

- Dennis

···

On Apr 17, 2016, at 7:18 PM, Marco S Hyman via swift-users <swift-users@swift.org> wrote:

Is this the appropriate list to ask questions regarding the 3.0 snapshots?

I’ve hand converted a small OS X app such that it compiles using the 2016-04-12 snapshot to get a feel for the changes. Now I’m trying to get it to run.

Marc
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


(Marco S Hyman) #3

Hey Marc,

You didn’t explicitly state the problem you’re running into but I assume you can’t build the app.

The app builds fine. Running the app gives me errors such as "Must implement numberOfRowsInTableView: and tableView:objectValueForTableColumn:row:” when the swiftified version "numberOfRows(in tableView: NSTableView) -> Int” and the required methods to support a view based table exist -- unless I got them wrong.

At this point I’m not sure if the issues are mine or the development system. My next step is to build some miniature test apps to check such things out.

As others have noticed (http://comments.gmane.org/gmane.comp.lang.swift.user/1689) the latest development snapshot is broken.

That particular issue didn’t bite me. I am used to seeing the SourceKitService die every 3 or 4 minutes.

Marc


(Brent Royal-Gordon) #4

The app builds fine. Running the app gives me errors such as "Must implement numberOfRowsInTableView: and tableView:objectValueForTableColumn:row:” when the swiftified version "numberOfRows(in tableView: NSTableView) -> Int” and the required methods to support a view based table exist -- unless I got them wrong.

You may need to give the Objective-C versions of the method names in @objc(foo) attributes.

···

--
Brent Royal-Gordon
Architechies


(Dennis Weissmann) #5

Thanks Brent!

This solved my different but related issue on iOS:

Taking the standard template for a Master-Detail Application with Core Data and making all the changes so that it compiles, leads to NSFetchedResultsControllerDelegate’s controller(_:didChange:at:for:newIndexPath:) function not being called.
Adding @objc(controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:) makes it get called. Fantastic!

Thanks!

- Dennis

···

On Apr 17, 2016, at 9:09 PM, Brent Royal-Gordon <brent@architechies.com> wrote:

The app builds fine. Running the app gives me errors such as "Must implement numberOfRowsInTableView: and tableView:objectValueForTableColumn:row:” when the swiftified version "numberOfRows(in tableView: NSTableView) -> Int” and the required methods to support a view based table exist -- unless I got them wrong.

You may need to give the Objective-C versions of the method names in @objc(foo) attributes.

--
Brent Royal-Gordon
Architechies


(Marco S Hyman) #6

Ditto. It got me to the next step, anyway. I suspect I’m going to have to add @objc(...) for each of the delegate functions, etc.

Marc

···

On Apr 17, 2016, at 12:36 PM, Dennis Weissmann <dennis@dennisweissmann.me> wrote:

Thanks Brent!


(Sebastian Hagedorn) #7

From the answers on this thread, I would assume that this is going to be solved in the language before the release, so I unless you really need this code to run in Swift 3.0 already, I wouldn’t put too much effort into it:

https://marc.ttias.be/swift-users/2016-03/msg00168.php

···

On 17 Apr 2016, at 22:32, Marco S Hyman via swift-users <swift-users@swift.org> wrote:

On Apr 17, 2016, at 12:36 PM, Dennis Weissmann <dennis@dennisweissmann.me> wrote:

Thanks Brent!

Ditto. It got me to the next step, anyway. I suspect I’m going to have to add @objc(...) for each of the delegate functions, etc.

Marc
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users