What is the use of placing an instance variable in .h where it wouldn't have a getter and setter ( i.e. nobody can set nor get it)?
I have read Where to put iVars in "modern" Objective-C? and some other questions, but I am still confused. I am reading from https://www.raywenderlich.com/913/sqlite-tutorial-for-ios-making-our-app SQLite Tutorial: .h #import <Foundation/Foundation.h> #import <sqlite3.h> @interface FailedBankDatabase : NSObject { sqlite3 *_database; } + (FailedBankDatabase*)database; - (NSArray *)failedBankInfos; @end .m #import "FailedBankDatabase.h" #import "FailedBankInfo.h" @implementation FailedBankDatabase static FailedBankDatabase *_database; + (FailedBankDatabase*)database { if (_database == nil) {