Skip to content

Commit 4adce45

Browse files
author
欧柏泉
committed
优化性能
1 parent 9505676 commit 4adce45

File tree

5 files changed

+112
-14
lines changed

5 files changed

+112
-14
lines changed

MyLinearLayoutDemo/MyFrameLayout.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ -(void)setMarginGravity:(MarignGravity)marginGravity
2929
MarignGravity oldVal = [self marginGravity];
3030
if (oldVal != marginGravity)
3131
{
32-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_MARGINGRAVITY, [NSNumber numberWithUnsignedChar:marginGravity], OBJC_ASSOCIATION_RETAIN);
32+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_MARGINGRAVITY, [NSNumber numberWithUnsignedChar:marginGravity], OBJC_ASSOCIATION_RETAIN_NONATOMIC);
3333

3434
if (self.superview != nil)
3535
[self.superview setNeedsLayout];

MyLinearLayoutDemo/MyLayoutBase.m

+108-10
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,15 @@ -(MyLayoutPos*)leftPos
3535
pos.view = self;
3636
pos.pos = MGRAVITY_HORZ_LEFT;
3737

38-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_LEFT, pos, OBJC_ASSOCIATION_RETAIN);
38+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_LEFT, pos, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
3939
}
4040
return pos;
4141
}
4242

43-
43+
-(void)setLeftPos:(MyLayoutPos *)leftPos
44+
{
45+
NSAssert(0, @"oops");
46+
}
4447

4548
-(MyLayoutPos*)topPos
4649
{
@@ -51,11 +54,16 @@ -(MyLayoutPos*)topPos
5154
pos.view = self;
5255
pos.pos = MGRAVITY_VERT_TOP;
5356

54-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_TOP, pos, OBJC_ASSOCIATION_RETAIN);
57+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_TOP, pos, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
5558
}
5659
return pos;
5760
}
5861

62+
-(void)setTopPos:(MyLayoutPos *)topPos
63+
{
64+
NSAssert(0, @"oops");
65+
66+
}
5967

6068
-(MyLayoutPos*)rightPos
6169
{
@@ -66,11 +74,17 @@ -(MyLayoutPos*)rightPos
6674
pos.view = self;
6775
pos.pos = MGRAVITY_HORZ_RIGHT;
6876

69-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_RIGHT, pos, OBJC_ASSOCIATION_RETAIN);
77+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_RIGHT, pos, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
7078
}
7179
return pos;
7280
}
7381

82+
-(void)setRightPos:(MyLayoutPos *)rightPos
83+
{
84+
NSAssert(0, @"oops");
85+
86+
}
87+
7488

7589
-(MyLayoutPos*)bottomPos
7690
{
@@ -81,11 +95,16 @@ -(MyLayoutPos*)bottomPos
8195
pos.view = self;
8296
pos.pos = MGRAVITY_VERT_BOTTOM;
8397

84-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_BOTTOM, pos, OBJC_ASSOCIATION_RETAIN);
98+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_BOTTOM, pos, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
8599
}
86100
return pos;
87101
}
88102

103+
-(void)setBottomPos:(MyLayoutPos *)bottomPos
104+
{
105+
NSAssert(0, @"oops");
106+
}
107+
89108

90109
-(CGFloat)leftMargin
91110
{
@@ -139,11 +158,16 @@ -(MyLayoutDime*)widthDime
139158
dime.view = self;
140159
dime.dime = MGRAVITY_HORZ_FILL;
141160

142-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_WIDTH, dime, OBJC_ASSOCIATION_RETAIN);
161+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_WIDTH, dime, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
143162
}
144163
return dime;
145164
}
146165

166+
-(void)setWidthDime:(MyLayoutDime *)widthDime
167+
{
168+
NSAssert(0, @"oops");
169+
}
170+
147171

148172
-(MyLayoutDime*)heightDime
149173
{
@@ -154,11 +178,16 @@ -(MyLayoutDime*)heightDime
154178
dime.view = self;
155179
dime.dime = MGRAVITY_VERT_FILL;
156180

157-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_HEIGHT, dime, OBJC_ASSOCIATION_RETAIN);
181+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_HEIGHT, dime, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
158182
}
159183
return dime;
160184
}
161185

186+
-(void)setHeightDime:(MyLayoutDime *)heightDime
187+
{
188+
NSAssert(0, @"oops");
189+
}
190+
162191
-(CGFloat)width
163192
{
164193
return self.widthDime.measure;
@@ -200,12 +229,16 @@ -(MyLayoutPos*)centerXPos
200229
pos.view = self;
201230
pos.pos = MGRAVITY_HORZ_CENTER;
202231

203-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_CENTERX, pos, OBJC_ASSOCIATION_RETAIN);
232+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_CENTERX, pos, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
204233
}
205234
return pos;
206235
}
207236

208237

238+
-(void)setCenterXPos:(MyLayoutPos *)centerXPos
239+
{
240+
NSAssert(0, @"oops");
241+
}
209242

210243
-(MyLayoutPos*)centerYPos
211244
{
@@ -216,11 +249,16 @@ -(MyLayoutPos*)centerYPos
216249
pos.view = self;
217250
pos.pos = MGRAVITY_VERT_CENTER;
218251

219-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_CENTERY, pos, OBJC_ASSOCIATION_RETAIN);
252+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_RELATIVE_CENTERY, pos, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
220253
}
221254
return pos;
222255
}
223256

257+
-(void)setCenterYPos:(MyLayoutPos *)centerYPos
258+
{
259+
NSAssert(0, @"oops");
260+
}
261+
224262

225263
-(CGFloat)centerXOffset
226264
{
@@ -262,7 +300,7 @@ -(void)setFlexedHeight:(BOOL)flexedHeight
262300
BOOL oldVal = [self isFlexedHeight];
263301
if (oldVal != flexedHeight)
264302
{
265-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_FLEXEDHEIGHT, [NSNumber numberWithBool:flexedHeight], OBJC_ASSOCIATION_RETAIN);
303+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_FLEXEDHEIGHT, [NSNumber numberWithBool:flexedHeight], OBJC_ASSOCIATION_RETAIN_NONATOMIC);
266304

267305
if (self.superview != nil)
268306
[self.superview setNeedsLayout];
@@ -328,6 +366,12 @@ -(NSNumber*)posNumVal
328366

329367
}
330368

369+
-(void)setPosNumVal:(NSNumber *)posNumVal
370+
{
371+
NSAssert(0, @"oops");
372+
}
373+
374+
331375
-(MyLayoutPos*)posRelaVal
332376
{
333377
if (_posVal == nil)
@@ -340,6 +384,14 @@ -(MyLayoutPos*)posRelaVal
340384

341385
}
342386

387+
-(void)setPosRelaVal:(MyLayoutPos *)posRelaVal
388+
{
389+
NSAssert(0, @"oops");
390+
391+
}
392+
393+
394+
343395
-(MyLayoutPos*)posArrVal
344396
{
345397
if (_posVal == nil)
@@ -352,6 +404,12 @@ -(MyLayoutPos*)posArrVal
352404

353405
}
354406

407+
-(void)setPosArrVal:(NSArray *)posArrVal
408+
{
409+
NSAssert(0, @"oops");
410+
}
411+
412+
355413
-(CGFloat)margin
356414
{
357415
if (self.posNumVal == nil)
@@ -360,6 +418,12 @@ -(CGFloat)margin
360418
return self.posNumVal.floatValue + _offsetVal;
361419
}
362420

421+
-(void)setMargin:(CGFloat)margin
422+
{
423+
NSAssert(0, @"oops");
424+
425+
}
426+
363427

364428
-(MyLayoutPos* (^)(CGFloat val))offset
365429
{
@@ -394,6 +458,11 @@ -(CGFloat)margin
394458

395459
}
396460

461+
-(void)dealloc
462+
{
463+
464+
}
465+
397466

398467
@end
399468

@@ -488,6 +557,12 @@ -(NSNumber*)dimeNumVal
488557
return nil;
489558
}
490559

560+
-(void)setDimeNumVal:(NSNumber *)dimeNumVal
561+
{
562+
NSAssert(0, @"oops");
563+
}
564+
565+
491566
-(NSArray*)dimeArrVal
492567
{
493568
if (_dimeVal == nil)
@@ -498,6 +573,12 @@ -(NSArray*)dimeArrVal
498573

499574
}
500575

576+
-(void)setDimeArrVal:(NSArray *)dimeArrVal
577+
{
578+
NSAssert(0, @"oops");
579+
580+
}
581+
501582
-(MyLayoutDime*)dimeRelaVal
502583
{
503584
if (_dimeVal == nil)
@@ -508,11 +589,23 @@ -(MyLayoutDime*)dimeRelaVal
508589

509590
}
510591

592+
-(void)setDimeRelaVal:(MyLayoutDime *)dimeRelaVal
593+
{
594+
NSAssert(0, @"oops");
595+
596+
}
597+
511598
-(BOOL)isMatchParent
512599
{
513600
return self.dimeRelaVal != nil && self.dimeRelaVal.view == _view.superview;
514601
}
515602

603+
-(void)setIsMatchParent:(BOOL)isMatchParent
604+
{
605+
NSAssert(0, @"oops");
606+
}
607+
608+
516609
-(BOOL)isMatchView:(UIView*)v
517610
{
518611
return self.dimeRelaVal != nil && self.dimeRelaVal.view == v;
@@ -525,6 +618,11 @@ -(CGFloat) measure
525618
}
526619

527620

621+
-(void)setMeasure:(CGFloat)measure
622+
{
623+
NSAssert(0, @"oops");
624+
}
625+
528626

529627
@end
530628

MyLinearLayoutDemo/MyLinearLayout.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ -(void)setWeight:(CGFloat)weight
3131
CGFloat oldVal = [self weight];
3232
if (oldVal != weight)
3333
{
34-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_WEIGHT, [NSNumber numberWithFloat:weight], OBJC_ASSOCIATION_RETAIN);
34+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_WEIGHT, [NSNumber numberWithFloat:weight], OBJC_ASSOCIATION_RETAIN_NONATOMIC);
3535

3636
if (self.superview != nil)
3737
[self.superview setNeedsLayout];

MyLinearLayoutDemo/MyRelativeLayout.m

+2-2
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,14 @@ -(MyAbsolutePos*)absPos
7373
if (pos == nil)
7474
{
7575
pos = [MyAbsolutePos new];
76-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_ABSOLUTE_POS, pos, OBJC_ASSOCIATION_RETAIN);
76+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_ABSOLUTE_POS, pos, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
7777
}
7878
return pos;
7979
}
8080

8181
-(void)setAbsPos:(MyAbsolutePos *)absPos
8282
{
83-
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_ABSOLUTE_POS, absPos, OBJC_ASSOCIATION_RETAIN);
83+
objc_setAssociatedObject(self, ASSOCIATEDOBJECT_KEY_ABSOLUTE_POS, absPos, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
8484

8585
}
8686

0 commit comments

Comments
 (0)