林昊

All generations.

time complexityWed, 19 Apr 2023

for (NSInteger i = self.subviews.count - 1; i >= 0; i--) { // 从后往前遍历自己的子控件,将事件传递给子控件 UIView *childView = self.subviews[i]; CGPoint childPoint = [self convertPoint:point toView:childView]; // 把当前控件上的坐标系转换成子控件上的坐标系 UIView *fitView = [childView hitTest:childPoint withEvent:event]; if (fitView == self.homePageView) { // homePageView会阻挡底下了连麦视图的手势,所以绕过homePageView把响应链交给底下的连麦视图 for (NSInteger j = self.linkMicWindowsView.subviews.count - 1; j >= 0; j--) { UIView *grandChildren = self.linkMicWindowsView.subviews[j]; CGPoint grandChildrenPoint = [self convertPoint:point toView:grandChildren]; fitView = [grandChildren hitTest:grandChildrenPoint withEvent:event]; if (fitView) { return fitView; } } } if (fitView) { // 寻找到响应事件的子控件 return fitView; } }

O(n)

time complexityWed, 19 Apr 2023

+ (NSString *)cutSting:(NSString *)string WithCharacterLength:(NSInteger)length { float sum = 0; NSInteger index = 0; for (int i = 0; i < string.length; i++) { NSString *character = [string substringWithRange:NSMakeRange(i, 1)]; if ([character lengthOfBytesUsingEncoding:NSUTF8StringEncoding] == 3) { sum += 1; } else { sum += 0.5; } if (sum >= length) { index = i; break; } } if (index == 0) { return string; } else { NSString *subString = [string substringWithRange:NSMakeRange(0, index+1)]; return [NSString stringWithFormat:@"%@...", subString]; } }

O(n)

time complexityWed, 19 Apr 2023

for (NSInteger i = self.subviews.count - 1; i >= 0; i--) { // 从后往前遍历自己的子控件,将事件传递给子控件 UIView *childView = self.subviews[i]; CGPoint childPoint = [self convertPoint:point toView:childView]; // 把当前控件上的坐标系转换成子控件上的坐标系 UIView *fitView = [childView hitTest:childPoint withEvent:event]; if (fitView == self.homePageView) { // homePageView会阻挡底下了连麦视图的手势,所以绕过homePageView把响应链交给底下的连麦视图 for (NSInteger j = self.linkMicWindowsView.subviews.count - 1; j >= 0; j--) { UIView *grandChildren = self.linkMicWindowsView.subviews[j]; CGPoint grandChildrenPoint = [self convertPoint:point toView:grandChildren]; fitView = [grandChildren hitTest:grandChildrenPoint withEvent:event]; if (fitView) { return fitView; } } } if (fitView) { // 寻找到响应事件的子控件 return fitView; } }

O(n * m)

testsWed, 19 Apr 2023

+ (NSString *)cutSting:(NSString *)string WithCharacterLength:(NSInteger)length { float sum = 0; NSInteger index = 0; for (int i = 0; i < string.length; i++) { NSString *character = [string substringWithRange:NSMakeRange(i, 1)]; if ([character lengthOfBytesUsingEncoding:NSUTF8StringEncoding] == 3) { sum += 1; } else { sum += 0.5; } if (sum >= length) { index = i; break; } } if (index == 0) { return string; } else { NSString *subString = [string substringWithRange:NSMakeRange(0, index+1)]; return [NSString stringWithFormat:@"%@...", subString]; } }

## 4.Generate the test reports ![](https://github.com/ReverseScale/XcodeBuildTest/blob/master/Image/TestReports.png)

testsWed, 19 Apr 2023

+ (NSString *)cutSting:(NSString *)string WithCharacterLength:(NSInteger)length { float sum = 0; NSInteger index = 0; for (int i = 0; i < string.length; i++) { NSString *character = [string substringWithRange:NSMakeRange(i, 1)]; if ([character lengthOfBytesUsingEncoding:NSUTF8StringEncoding] == 3) { sum += 1; } else { sum += 0.5; } if (sum >= length) { index = i; break; } } if (index == 0) { return string; } else { NSString *subString = [string substringWithRange:NSMakeRange(0, index+1)]; return [NSString stringWithFormat:@"%@...", subString]; } }

returns a substring of the first 3 characters of string

testsWed, 19 Apr 2023

+ (NSString *)cutSting:(NSString *)string WithCharacterLength:(NSInteger)length { float sum = 0; NSInteger index = 0; for (int i = 0; i < string.length; i++) { NSString *character = [string substringWithRange:NSMakeRange(i, 1)]; if ([character lengthOfBytesUsingEncoding:NSUTF8StringEncoding] == 3) { sum += 1; } else { sum += 0.5; } if (sum >= length) { index = i; break; } } if (index == 0) { return string; } else { NSString *subString = [string substringWithRange:NSMakeRange(0, index+1)]; return [NSString stringWithFormat:@"%@...", subString]; } }

## Authors * **huhuanming** - [Github](https://github.com/huhuanming) ## License This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

Questions about programming?Chat with your personal AI assistant