Constants in Objective-C

You should create a header file like: // Constants.h FOUNDATION_EXPORT NSString *const MyFirstConstant; FOUNDATION_EXPORT NSString *const MySecondConstant; //etc. (You can use extern instead of FOUNDATION_EXPORT if your code will not be used in mixed C/C++ environments or on other platforms.) You can include this file in each file that uses the constants or in the … Read more

How to change Status Bar text color in iOS

Set the UIViewControllerBasedStatusBarAppearance to YES in the .plist file. In the viewDidLoad do a [self setNeedsStatusBarAppearanceUpdate]; Add the following method: – (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; } Note: This does not work for controllers inside UINavigationController, please see Tyson’s comment below 🙂 Swift 3 – This will work controllers inside UINavigationController. Add this code inside your … Read more

How can I disable the UITableView selection?

All you have to do is set the selection style on the UITableViewCell instance using either: Objective-C: cell.selectionStyle = UITableViewCellSelectionStyleNone; or [cell setSelectionStyle:UITableViewCellSelectionStyleNone]; Swift 2: cell.selectionStyle = UITableViewCellSelectionStyle.None Swift 3 and 4.x: cell.selectionStyle = .none Further, make sure you either don’t implement -tableView:didSelectRowAtIndexPath: in your table view delegate or explicitly exclude the cells you want … Read more

How do I check if a string contains another string in Objective-C?

NSString *string = @”hello bla bla”; if ([string rangeOfString:@”bla”].location == NSNotFound) { NSLog(@”string does not contain bla”); } else { NSLog(@”string contains bla!”); } The key is noticing that rangeOfString: returns an NSRange struct, and the documentation says that it returns the struct {NSNotFound, 0} if the “haystack” does not contain the “needle”. And if … Read more

Xcode – How to fix ‘NSUnknownKeyException’, reason: … this class is not key value coding-compliant for the key X” error?

You may have a bad connection in your xib. I’ve had this error many times. While TechZen’s answer is absolutely right in this case, another common cause is when you change the name of a IBOutlet property in your .h/.m which you’ve already connected up to File’s Owner in the nib. From your nib: Select … Read more

performSelector may cause a leak because its selector is unknown

Solution The compiler is warning about this for a reason. It’s very rare that this warning should simply be ignored, and it’s easy to work around. Here’s how: if (!_controller) { return; } SEL selector = NSSelectorFromString(@”someMethod”); IMP imp = [_controller methodForSelector:selector]; void (*func)(id, SEL) = (void *)imp; func(_controller, selector); Or more tersely (though hard … Read more

How do I sort an NSMutableArray with custom objects in it?

Compare method Either you implement a compare-method for your object: – (NSComparisonResult)compare:(Person *)otherObject { return [self.birthDate compare:otherObject.birthDate]; } NSArray *sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(compare:)]; NSSortDescriptor (better) or usually even better: NSSortDescriptor *sortDescriptor; sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@”birthDate” ascending:YES]; NSArray *sortedArray = [drinkDetails sortedArrayUsingDescriptors:@[sortDescriptor]]; You can easily sort by multiple keys by adding more than one to … Read more

How can I check for an active Internet connection on iOS or macOS?

Important: This check should always be performed asynchronously. The majority of answers below are synchronous so be careful otherwise you’ll freeze up your app. Swift Install via CocoaPods or Carthage: https://github.com/ashleymills/Reachability.swift Test reachability via closures let reachability = Reachability()! reachability.whenReachable = { reachability in if reachability.connection == .wifi { print(“Reachable via WiFi”) } else { … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)