[swift-users] Memory Leak Indicated when Derived from NSObject
Chris Chirogene
cchiroge at adobe.com
Sat Dec 17 02:12:30 CST 2016
Interesting. Thanks. I’ll have to try that.
The latest Xcode 8.2 release version seems to have fixed this. I am no longer seeing the leak.
Take care,
Chris
> On 17 Dec 2016, at 02:33, Ray Fix <rayfix at gmail.com> wrote:
>
> FWIW, seeing this too. Also, when I boiled the project down to a macOS command line and run the “leaks" cli I don’t see the leak. 🤔
>
> Ray
>
>> On Oct 14, 2016, at 9:42 AM, Chris Chirogene via swift-users <swift-users at swift.org> wrote:
>>
>> Xcode8 is showing a memory leak in instruments and the memory graph. I have narrowed it down to this: deriving from NSObject produces a leak indication. I have no idea why.
>> I need an NSObject to later use the @objc directive.
>> The Test instance stored in the mDict Dictionary is indicated as a leak in Xcode.
>> This is running as an iOS Single-View-Application project in the iPhone5s Simulator running iOS10.0
>> Here is the sample code:
>>
>> import Foundation
>>
>> class Test: NSObject // <-- derived from NSObject produces leak indication below
>> {
>> static var cTest: Test! = nil
>> var mDict: [String : Test] = Dictionary<String, Test>()
>>
>> static func test() -> Void {
>> cTest = Test()
>> cTest.mDict["test"] = Test() // <-- alleged leak
>> }
>> }
>>
>> class Test // <-- NOT derived from NSObject, NO leak indication
>> {
>> static var cTest: Test! = nil
>> var mDict: [String : Test] = Dictionary<String, Test>()
>>
>> static func test() -> Void {
>> cTest = Test()
>> cTest.mDict["test"] = Test() // <-- NO leak
>> }
>> }
>>
>> // from AppDelegate didFinishLaunchingWithOptions
>> // ...
>> Test.test()
>> // ...
>>
>> _______________________________________________
>> swift-users mailing list
>> swift-users at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-users
>
More information about the swift-users
mailing list