Differences From Artifact [7f71790adf]:
- File
src/OFNotificationCenter.m
— part of check-in
[651875bc1f]
at
2023-01-13 13:11:53
on branch trunk
— OFNotificationCenter: Don't expose internal class
This causes problems with Swift, which silently drops methods that use
types for which it doesn't have an interface. (user: js, size: 8322) [annotate] [blame] [check-ins using]
To Artifact [bec84a1cd3]:
- File
src/OFNotificationCenter.m
— part of check-in
[5b5c12fa0b]
at
2023-01-13 13:31:07
on branch trunk
— OFNotificationCenter: Don't retain observer
This avoids retain cycles.
A future improvement could be to use a weak reference instead, without
relying on ARC by calling into the runtime functions directly. (user: js, size: 8291) [annotate] [blame] [check-ins using] [more...]
︙ | ︙ | |||
65 66 67 68 69 70 71 | { self = [super init]; @try { void *pool = objc_autoreleasePoolPush(); _name = [name copy]; | | | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | { self = [super init]; @try { void *pool = objc_autoreleasePoolPush(); _name = [name copy]; _observer = observer; _selector = selector; _object = [object retain]; _selectorHash = [[OFString stringWithUTF8String: sel_getName(_selector)] hash]; objc_autoreleasePoolPop(pool); |
︙ | ︙ | |||
104 105 106 107 108 109 110 | return self; } #endif - (void)dealloc { [_name release]; | < | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | return self; } #endif - (void)dealloc { [_name release]; [_object release]; #ifdef OF_HAVE_BLOCKS [_block release]; #endif [super dealloc]; } |
︙ | ︙ |