View Note.txt
When adding a third framework to yours you may face the following error if you try to run tests:
The bundle “[framework-name]Tests” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.
(dlopen_preflight([framework-path]): Library not loaded: @rpath/[third-framework-name].framework/[third-framework-name]
Referenced from: [derived-data-framework-path]
Reason: image not found)
Program ended with exit code: 82
This problem can be solved by adding "$(PROJECT_DIR)" to the "Runpath Search Paths" on the framework's Build Settings.
View TableViewController.m
pageNumber = 1;
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
NSInteger currentOffset = scrollView.contentOffset.y;
NSInteger maximumOffset = scrollView.contentSize.height - scrollView.frame.size.height;
if (maximumOffset - currentOffset <= - 40 && hasNextPage)
{
[self fetchData];
View SortArray.m
// 'date' is the property with the date to be sorted by
NSSortDescriptor *dateDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"date" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:dateDescriptor];
// 'myArray' is the array that will be sorted
NSArray *sortedEventArray = [myArray sortedArrayUsingDescriptors:sortDescriptors];
View TableViewController.m
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
View TableViewController.m
// selectedRow is the row to update
NSIndexPath* rowToReload = [NSIndexPath indexPathForRow:selectedRow inSection:0];
NSArray* rowsToReload = [NSArray arrayWithObjects:rowToReload, nil];
[tableView reloadRowsAtIndexPaths:rowsToReload withRowAnimation:UITableViewRowAnimationNone];
View TableViewController.m
NSInteger selectedRow = -1; // default selected row (here no one)
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.row == selectedRow) {
return 100; // expanded height
}
return 44; // colapsed height
}
View ImageScaled.m
-(UIImage *)scaleImage:(UIImage *)image toWidth:(int)width {
// determine the scaling factor to fit the screen width
CGFloat oldWidth = image.size.width;
NSUInteger newWidth = (width - 10);
CGFloat scaleFactor;
if (oldWidth > newWidth)
scaleFactor = oldWidth / newWidth;
else
View Info.plist
View controller-based status bar appearance = NO
Status bar style = UIStatusBarStyleLightContent
View RegexExample.swift
let text = "Text to get the match"
let regex = NSRegularExpression(pattern: "([^ ]+)", options: nil, error: nil)!
let matches = regex.matchesInString(text, options: nil, range: NSRange(location: 0, length: count(text)))
var substring = ""
for match in matches as! [NSTextCheckingResult] {
// range at index 0 returns the full match
// range at index 1 returns the first capture group
// range at index 2 returns the second capture group and so on...
View ViewController.swift
navigationController?.popViewControllerAnimated(true)