This is getting interesting. I added your suggested test code (set to execute once): class FontSelectorDialog : UITableViewController {
static let chooser : ColorChooser = ColorChooser() override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) FontSelectorDialog.chooser.textChooserType = .text } < . . . > } BY THE WAY — I didn’t think to mention this previously, but the “leaking” code is in a framework and I put the suggested test code in the same framework. Using Xcode 8.3: (1) Running Simulator for iPhone 7+ (10.3), profiling the code, neither your suggested test code NOR the original code shows a leak in the Leaks Instrument. (2) Running on an iPad Air 2 (10.2), profiling the code, your suggested test code does NOT show a leak, but the original code DOES. (The stack trace for the leak point is at the bottom of this email.) I haven’t taken the next step of attempting to build a simple example to see if I can duplicate the problem in a simple project. I’d like to pursue this because it is increasingly looking like a “not my” bug, and I’d like to prevent others from spending as much time on this issue as I have already. Cheers, Rick Aurbach > On Mar 28, 2017, at 4:14 AM, Alex Blewitt <alb...@apple.com> wrote: > >> On 28 Mar 2017, at 05:41, Rick Aurbach <rla...@icloud.com> wrote: >> >> That wouldn’t work directly. The “leak” occurs when processing a segue >> called in response to a user button push. (I suppose I could attempt to wire >> up a UI Test, but would rather not go down that route.) >> >> What I can try is to see if I can create a simple, artificial example. If it >> also reports a leak, then I could try looping it. I’ll look into it in the >> morning. > > You could try doing something like: > > static let choser:ColorChoser = ColorChoser() > choser.textChoserType = .text > > Run that in Xcode and see if it shows a leak. > > Alex 0 libsystem_malloc.dylib malloc_zone_malloc 1 libsystem_malloc.dylib malloc 2 libswiftCore.dylib swift_slowAlloc 3 libswiftCore.dylib _swift_allocObject_ 4 libswiftCore.dylib _swift_allocObject_ 5 RLAFontSelector specialized RLAFontSelectorDialog.prepare(for : UIStoryboardSegue, sender : Any?) -> () /Users/rlaurb/Projects/RLAFontSelector/Sources/RLAFontSelectorDialog.swift:0 6 RLAFontSelector RLAFontSelectorDialog.prepare(for : UIStoryboardSegue, sender : Any?) -> () /Users/rlaurb/Projects/RLAFontSelector/Sources/RLAFontSelectorDialog.swift:0 7 RLAFontSelector @objc RLAFontSelectorDialog.prepare(for : UIStoryboardSegue, sender : Any?) -> () /Users/rlaurb/Projects/RLAFontSelector/Sources/RLAFontSelectorDialog.swift:0 8 UIKit -[UIStoryboardSegueTemplate _performWithDestinationViewController:sender:] 9 UIKit -[UIStoryboardSegueTemplate _perform:] 10 UIKit -[UIStoryboardSegueTemplate perform:] 11 UIKit -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] 12 UIKit -[UITableView _userSelectRowAtPendingSelectionIndexPath:] 13 UIKit _runAfterCACommitDeferredBlocks 14 UIKit _cleanUpAfterCAFlushAndRunDeferredBlocks 15 UIKit _afterCACommitHandler 16 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ 17 CoreFoundation __CFRunLoopDoObservers 18 CoreFoundation __CFRunLoopRun 19 CoreFoundation CFRunLoopRunSpecific 20 GraphicsServices GSEventRunModal 21 UIKit -[UIApplication _run] 22 UIKit UIApplicationMain 23 PoetsCorner main /Users/rlaurb/Projects/PoetsCorner/PoetsCorner/SettingsController.swift:13 24 libdyld.dylib start
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users