Whats new in version 1.1.6:
- MacOS 10.7 - 10.10 are combined into the common MacOS target
- MacOS 10.5 support not supported and not distributed now
- iOS 5.0 - 6.1 are combined into the scl-5.0 target
- Target scl-7.0 now supports code for iOS 7.0 and later
- Category NSDate(SCDate) added for extending standard class SCDate
Whats new in version 1.1.5:
- Project no longer supports the PowerPC architecture
- Project now supported iOS 4.3 instead iOS 4.0
- MacOS 10.7, 10.8 and 10.9 support added
- iOS 5.0, 5.1, 6.0, 6.1, 7.0 and 7.1 support added
- Remove all deprecated methods
Whats new in version 1.1.4:
- Move from the class SCFileStream into the class SCStream the following methods:
- readStringWithEncoding:max:
- readStringWithEncoding:
- readStringWithMax:
- readString
- writeString:encoding:
- writeString:
- eof
- iPhoneOS 3.X not supported and not distributed now
- Add into the category NSString(SCString) the following methods:
- substringExists:caseInsensitive:
- substringCount:caseInsensitive:
- stringWithReplacedSubstring:string:caseInsensitive:
- stringWithDeletedSubstring:caseInsensitive:
- indexOfSubstring:caseInsensitive:
- indexOfSubstring:
- indexesOfSubstring:caseInsensitive:
- indexesOfSubstring:
- Service classes hierarchy parent class SCServiceObject was implemented
- Add support for strings lists, texts and text files:
Whats new in version 1.1.3.1:
Whats new in version 1.1.3:
- Add protocol SCSortingProtocol and classes SCSortingAlgorithm, SCBubbleSortingAlgorithm and SCFastSortingAlgorithm
- Add categories NSArray(SCNSArray) and NSMutableArray(SCNSMutableArray)
- Add categories NSSet(SCNSSet) and NSMutableSet(SCNSMutableSet)
- Add categories NSDictionary(SCNSDictionary) and NSMutableDictionary(SCNSMutableDictionary)
- Add delegate classes support:
- Add abstract class method keyword __abstract__
- Add category NSNull(SCNull)
- Add category NSNumber(SCNumber) and exception class SCNumberException
- Collections support:
- Streams support:
- Add standard types SCByte, SCShort, SCInteger, SCLong, SCUByte, SCUShort, SCUInteger, SCULong, SCFloat and SCDouble.
- Add type SCNetError
- Exception classes SCIncorrectMask, SCIncorrectPrefix and SCIncorrectIPAddress deleted, all functionality moved to class SCNetException
- Add exception SCSystemException and type SCSystemError
- Add class SCNotSupportedException for exceptions, when generate if the user calls the unsupported command or operation.
- Protocol SCDictionaryObjectProtocol specifies methods for interaction with dictionaries.
- Protocol SCCodingProtocol specifies methods for interaction with coders and serialized files.
- Class SCObject implements protocols SCDictionaryObjectProtocol and SCCodingProtocol
- Category NSString(SCString) implements protocols SCDictionaryObjectProtocol and SCCodingProtocol
- Class SCSubnetMask supports the dictionaries, coders and serialized files
- Class SCIPAddress supports the dictionaries, coders and serialized files
- Class SCSubnet supports the dictionaries, coders and serialized files
- New static methods added into class SCSubnetMask
- New static methods added into class SCIPAddress
- New static methods added into class SCSubnet
- New static method added into class SCCommon
- Exception classes SCReadOnlyException, SCAbstractMethodException and SCNotFoundException added.
- Type SCTCPPort added (TCP port number representation).
- In class SCLog was added the following static methods:
- logChar:
- logChar:format:
- log:condition:
- logID:condition:
- logString:condition:
- logUnichar:condition:
- logBool:condition:
- logSignedInteger:condition:
- logUnsignedInteger:condition:
- logSignedLong:condition:
- logUnsignedLong:condition:
- logDouble:condition:
- logPointer:condition:
- logBinary:condition:
- logOctal:condition:
- logDecimal:condition:
- logHex:condition:
- logChar:condition:
- log:uncondition:
- logID:uncondition:
- logString:uncondition:
- logUnichar:uncondition:
- logBool:uncondition:
- logSignedInteger:uncondition:
- logUnsignedInteger:uncondition:
- logSignedLong:uncondition:
- logUnsignedLong:uncondition:
- logDouble:uncondition:
- logPointer:uncondition:
- logBinary:uncondition:
- logOctal:uncondition:
- logDecimal:uncondition:
- logHex:uncondition:
- logChar:uncondition:
- logWithCondition:yes:no:
- logIDWithCondition:yes:no:
- logStringWithCondition:yes:no:
- logUnicharWithCondition:yes:no:
- logBoolWithCondition:yes:no:
- logSignedIntegerWithCondition:yes:no:
- logUnsignedIntegerWithCondition:yes:no:
- logSignedLongWithCondition:yes:no:
- logUnsignedLongWithCondition:yes:no:
- logDoubleWithCondition:yes:no:
- logPointerWithCondition:yes:no:
- logBinaryWithCondition:yes:no:
- logOctalWithCondition:yes:no:
- logDecimalWithCondition:yes:no:
- logHexWithCondition:yes:no:
- logCharWithCondition:yes:no:
- log:format:
- log:format:condition:
- logID:format:condition:
- logString:format:condition:
- logUnichar:format:condition:
- logBool:format:condition:
- logSignedInteger:format:condition:
- logUnsignedInteger:format:condition:
- logSignedLong:format:condition:
- logUnsignedLong:format:condition:
- logDouble:format:condition:
- logPointer:format:condition:
- logBinary:format:condition:
- logOctal:format:condition:
- logDecimal:format:condition:
- logHex:format:condition:
- logChar:format:condition:
- log:format:uncondition:
- logID:format:uncondition:
- logString:format:uncondition:
- logUnichar:format:uncondition:
- logBool:format:uncondition:
- logSignedInteger:format:uncondition:
- logUnsignedInteger:format:uncondition:
- logSignedLong:format:uncondition:
- logUnsignedLong:format:uncondition:
- logDouble:format:uncondition:
- logPointer:format:uncondition:
- logBinary:format:uncondition:
- logOctal:format:uncondition:
- logDecimal:format:uncondition:
- logHex:format:uncondition:
- logChar:format:uncondition:
- logWithCondition:yes:no:format:
- logIDWithCondition:yes:no:format:
- logStringWithCondition:yes:no:format:
- logUnicharWithCondition:yes:no:format:
- logBoolWithCondition:yes:no:format:
- logSignedIntegerWithCondition:yes:no:format:
- logUnsignedIntegerWithCondition:yes:no:format:
- logSignedLongWithCondition:yes:no:format:
- logUnsignedLongWithCondition:yes:no:format:
- logDoubleWithCondition:yes:no:format:
- logPointerWithCondition:yes:no:format:
- logBinaryWithCondition:yes:no:format:
- logOctalWithCondition:yes:no:format:
- logDecimalWithCondition:yes:no:format:
- logHexWithCondition:yes:no:format:
- logCharWithCondition:yes:no:format:
- In category NSAlert(SCAlert) was added the following static methods:
- debug:format:
- debugWithUnichar:
- debugWithChar:
- debug:condition:
- debugWithID:condition:
- debugWithString:condition:
- debugWithBoolean:condition:
- debugWithDouble:condition:
- debugWithPointer:condition:
- debugWithSignedInteger:condition:
- debugWithSignedLong:condition:
- debugWithInteger:condition:
- debugWithLong:condition:
- debugWithBin:condition:
- debugWithOct:condition:
- debugWithDec:condition:
- debugWithHex:condition:
- debugWithUnichar:condition:
- debugWithChar:condition:
- debug:uncondition:
- debugWithID:uncondition:
- debugWithString:uncondition:
- debugWithBoolean:uncondition:
- debugWithDouble:uncondition:
- debugWithPointer:uncondition:
- debugWithSignedInteger:uncondition:
- debugWithSignedLong:uncondition:
- debugWithInteger:uncondition:
- debugWithLong:uncondition:
- debugWithBin:uncondition:
- debugWithOct:uncondition:
- debugWithDec:uncondition:
- debugWithHex:uncondition:
- debugWithUnichar:uncondition:
- debugWithChar:uncondition:
- debugWithCondition:yes:no:
- debugIDWithCondition:yes:no:
- debugStringWithCondition:yes:no:
- debugBooleanWithCondition:yes:no:
- debugDoubleWithCondition:yes:no:
- debugPointerWithCondition:yes:no:
- debugSignedIntegerWithCondition:yes:no:
- debugSignedLongWithCondition:yes:no:
- debugIntegerWithCondition:yes:no:
- debugLongWithCondition:yes:no:
- debugBinWithCondition:yes:no:
- debugOctWithCondition:yes:no:
- debugDecWithCondition:yes:no:
- debugHexWithCondition:yes:no:
- debugUnicharWithCondition:yes:no:
- debugCharWithCondition:yes:no:
- debug:format:condition:
- debugWithID:format:condition:
- debugWithString:format:condition:
- debugWithBoolean:format:condition:
- debugWithDouble:format:condition:
- debugWithPointer:format:condition:
- debugWithSignedInteger:format:condition:
- debugWithSignedLong:format:condition:
- debugWithInteger:format:condition:
- debugWithLong:format:condition:
- debugWithBin:format:condition:
- debugWithOct:format:condition:
- debugWithDec:format:condition:
- debugWithHex:format:condition:
- debugWithUnichar:format:condition:
- debugWithChar:format:condition:
- debug:format:uncondition:
- debugWithID:format:uncondition:
- debugWithString:format:uncondition:
- debugWithBoolean:format:uncondition:
- debugWithDouble:format:uncondition:
- debugWithPointer:format:uncondition:
- debugWithSignedInteger:format:uncondition:
- debugWithSignedLong:format:uncondition:
- debugWithInteger:format:uncondition:
- debugWithLong:format:uncondition:
- debugWithBin:format:uncondition:
- debugWithOct:format:uncondition:
- debugWithDec:format:uncondition:
- debugWithHex:format:uncondition:
- debugWithUnichar:format:uncondition:
- debugWithChar:format:uncondition:
- debugWithCondition:yes:no:format:
- debugIDWithCondition:yes:no:format:
- debugStringWithCondition:yes:no:format:
- debugBooleanWithCondition:yes:no:format:
- debugDoubleWithCondition:yes:no:format:
- debugPointerWithCondition:yes:no:format:
- debugSignedIntegerWithCondition:yes:no:format:
- debugSignedLongWithCondition:yes:no:format:
- debugIntegerWithCondition:yes:no:format:
- debugLongWithCondition:yes:no:format:
- debugBinWithCondition:yes:no:format:
- debugOctWithCondition:yes:no:format:
- debugDecWithCondition:yes:no:format:
- debugHexWithCondition:yes:no:format:
- debugUnicharWithCondition:yes:no:format:
- debugCharWithCondition:yes:no:format:
- In category UIAlertView(SCAlertView) was added the following static methods:
- debugWithUnichar:
- debugWithChar:
- debugWithUnichar:format:
- debugWithChar:format:
- debugWithID:condition:
- debugWithString:condition:
- debugWithInteger:condition:
- debugWithLong:condition:
- debugWithBoolean:condition:
- debug:condition:
- debugWithDouble:condition:
- debugWithSignedLong:condition:
- debugWithPointer:condition:
- debugWithSignedInteger:condition:
- debugWithBin:condition:
- debugWithOct:condition:
- debugWithDec:condition:
- debugWithHex:condition:
- debugWithUnichar:condition:
- debugWithChar:condition:
- debugWithID:uncondition:
- debugWithString:uncondition:
- debugWithInteger:uncondition:
- debugWithLong:uncondition:
- debugWithBoolean:uncondition:
- debug:uncondition:
- debugWithDouble:uncondition:
- debugWithSignedLong:uncondition:
- debugWithPointer:uncondition:
- debugWithSignedInteger:uncondition:
- debugWithBin:uncondition:
- debugWithOct:uncondition:
- debugWithDec:uncondition:
- debugWithHex:uncondition:
- debugWithUnichar:uncondition:
- debugWithChar:uncondition:
- debugIDWithCondition:yes:no:
- debugStringWithCondition:yes:no:
- debugIntegerWithCondition:yes:no:
- debugLongWithCondition:yes:no:
- debugBooleanWithCondition:yes:no:
- debugWithCondition:yes:no:
- debugDoubleWithCondition:yes:no:
- debugSignedLongWithCondition:yes:no:
- debugPointerWithCondition:yes:no:
- debugSignedIntegerWithCondition:yes:no:
- debugBinWithCondition:yes:no:
- debugOctWithCondition:yes:no:
- debugDecWithCondition:yes:no:
- debugHexWithCondition:yes:no:
- debugUnicharWithCondition:yes:no:
- debugCharWithCondition:yes:no:
- debugWithID:condition:
- debugWithString:condition:
- debugWithInteger:condition:
- debugWithLong:condition:
- debugWithBoolean:condition:
- debug:condition:
- debugWithDouble:condition:
- debugWithSignedLong:condition:
- debugWithPointer:condition:
- debugWithSignedInteger:condition:
- debugWithBin:condition:
- debugWithOct:condition:
- debugWithDec:condition:
- debugWithHex:condition:
- debugWithUnichar:condition:
- debugWithChar:condition:
- debugWithID:uncondition:
- debugWithString:uncondition:
- debugWithInteger:uncondition:
- debugWithLong:uncondition:
- debugWithBoolean:uncondition:
- debug:uncondition:
- debugWithDouble:uncondition:
- debugWithSignedLong:uncondition:
- debugWithPointer:uncondition:
- debugWithSignedInteger:uncondition:
- debugWithBin:uncondition:
- debugWithOct:uncondition:
- debugWithDec:uncondition:
- debugWithHex:uncondition:
- debugWithUnichar:uncondition:
- debugWithChar:uncondition:
- debugIDWithCondition:yes:no:format:
- debugStringWithCondition:yes:no:format:
- debugIntegerWithCondition:yes:no:format:
- debugLongWithCondition:yes:no:format:
- debugBooleanWithCondition:yes:no:format:
- debugWithCondition:yes:no:format:
- debugDoubleWithCondition:yes:no:format:
- debugSignedLongWithCondition:yes:no:format:
- debugPointerWithCondition:yes:no:format:
- debugSignedIntegerWithCondition:yes:no:format:
- debugBinWithCondition:yes:no:format:
- debugOctWithCondition:yes:no:format:
- debugDecWithCondition:yes:no:format:
- debugHexWithCondition:yes:no:format:
- debugUnicharWithCondition:yes:no:format:
- debugCharWithCondition:yes:no:format:
Whats new in version 1.1.2:
- Added support of the static libraries for operating system Mac OS X.
- Added category NSControl(SCControl) for MacOS.
- Added category NSMenuItem(SCMenuItem) for MacOS.
- Property booleanState was added into category SCButton.
- New methods added into class SCCommon
- The classes SCSubnetMask, SCIPAddress and SCSubnet for Mac OS X version 10.5 and above as well as for iOS added support for class properties. The code for Mac OS X version 10.4 properties are not available.
- Comments and documentation translated from Russian to English.
- Comments for classes methods transfer from impementation sections into interfaces files.
- Added documentation page Library localization instructions .
- Added Localizable.strings files for English and Russian.
- New methods added into category NSString(SCString):
- isHexadecimalString
- hexadecimalString
- initWithHexadecimalInteger:capacity:
- initWithHexadecimalInteger:capacity:uppercase:
- initWithHexadecimalInteger:capacity:separators:
- initWithHexadecimalInteger:capacity:
- initWithHexadecimalInteger:uppercase:separators:
- initWithHexadecimalInteger:uppercase:
- initWithHexadecimalInteger:separators:
- initWithHexadecimalInteger:
- characterIsHexadecimalInteger:
- stringWithHexadecimalInteger:capacity:uppercase:separators:
- stringWithHexadecimalInteger:capacity:uppercase:
- stringWithHexadecimalInteger:capacity:separators:
- stringWithHexadecimalInteger:capacity:
- stringWithHexadecimalInteger:uppercase:separators:
- stringWithHexadecimalInteger:uppercase:
- stringWithHexadecimalInteger:separators:
- stringWithHexadecimalInteger:
Whats new in version 1.1.1:
- Fixed a bug in category NSString(SCString) when creating strings based on the integer binary representation.
Whats new in version 1.1.0:
- Added iOS support. For start development for new platform add -DIOS_TARGET into Other C Flags and Other C++ Flags and -ObjC -all_load into Other Linker Flags.
- Common constants file SCConstants.h added.
- Error message constants added into files SCSubnetMask.h, SCIPaddress.h and SCSubnet.h.
- New methods added into category NSString(SCString):
- integer
- initWithDecimalInteger:separator:
- initWithHexidecimalInteger:separators:
- stringWithDecimalInteger:separator:
- stringWithHexidecimalInteger:separators:
- initWithDouble:
- initWithSignedInteger:
- initWithSignedShort:
- initWithUnsignedShort:
- initWithSignedLong:
- initWithPointer:
- initWithID:
- stringWithDouble:
- stringWithSignedInteger:
- stringWithSignedShort:
- stringWithUnsignedShort:
- stringWithSignedLong:
- stringWithPointer:
- stringWithID:
- Added methods isSerialLink (SCSubnetMask) and isSerialLink (SCSubnet).
- Add into the category NSAlert(SCAlert) the following new methods:
- initWithError:text:selected:alternate:
- initWithWarning:text:selected:alternate:
- initWithMessage:text:selected:alternate:
- initWithMessage:selected:alternate:other:
- initWithMessage:selected:alternate:
- initWithMessage:selected:
- alertWithError:text:selected:alternate:
- alertWithWarning:text:selected:alternate:
- alertWithMessage:text:selected:alternate:
- alertWithMessage:selected:alternate:other:
- alertWithMessage:selected:alternate:
- alertWithMessage:selected:
- showWithStyle:message:text:selected:alternate:other:
- showWithError:text:selected:alternate:other:
- showWithError:text:selected:alternate:
- showWithWarning:text:selected:alternate:other:
- showWithWarning:text:selected:alternate:
- showWithMessage:text:selected:alternate:other:
- showWithMessage:text:selected:alternate:
- showWithMessage:selected:alternate:other:
- showWithMessage:selected:alternate:
- showWithMessage:selected:
- runWithError:text:selected:alternate:
- runWithError:error:text;
- runWithWarning:text:selected:alternate:
- runWithWarning:text:
- runWithMessage:text:selected:alternate:
- runWithMessage:text:
- runWithMessage:selected:alternate:other:
- runWithMessage:selected:alternate:
- runWithMessage:
- confirmWithStyle:message:text:confirm:selected:alternate:other:
- confirmWithStyle:message:text:selected:alternate:other:
- confirmWithError:text:confirm:selected:alternate:other:
- confirmWithError:text:confirm:selected:alternate:
- confirmWithError:text:confirm:
- confirmWithError:text:selected:alternate:other:
- confirmWithWarning:text:confirm:selected:alternate:other:
- confirmWithWarning:text:confirm:selected:alternate:
- confirmWithWarning:text:confirm:
- confirmWithWarning:text:selected:alternate:other:
- confirmWithWarning:text:selected:alternate:
- confirmWithWarning:text:
- confirmWithMessage:text:confirm:selected:alternate:other:
- confirmWithMessage:text:confirm:selected:alternate:
- confirmWithMessage:text:confirm:
- confirmWithMessage:confirm:selected:alternate:other:
- confirmWithMessage:confirm:selected:alternate:
- confirmWithMessage:confirm:
- confirmWithMessage:text:selected:alternate:other:
- confirmWithMessage:selected:alternate:other:
- confirmWithMessage:selected:alternate:
- confirmNoYesWithMessage:text:
- confirmNoYesWithMessage:
- confirmOKCancelWithMessage:text:
- confirmCancelOKWithMessage:text:
- confirmOKCancelWithMessage:
- confirmCancelOKWithMessage:
- debug:
- debugWithDouble:
- debugWithPointer:
- debugWithSignedInteger:
- debugWithSignedLong:
- debugWithBin:
- debugWithOct:
- debugWithDec:
- debugWithHex:
- debugWithID:format:
- debugWithString:format:
- debugWithBoolean:format:
- debugWithDouble:format:
- debugWithPointer:format:
- debugWithSignedInteger:format:
- debugWithSignedLong:format:
- debugWithInteger:format:
- debugWithLong:format:
- debugWithBin:format:
- debugWithOct:format:
- debugWithDec:format:
- debugWithHex:format:
- Added class SCLog for simple access to function NSLog.
- Added category UIActionSheet(SCActionSheet) for iOS (for MacOS please use category NSAlert(SCAlert).
Whats new in version 1.0.4: