diff --git a/samples/squidb-ios-sample/squidb-ios-sample.xcodeproj/project.pbxproj b/samples/squidb-ios-sample/squidb-ios-sample.xcodeproj/project.pbxproj index b515950a..54266c19 100644 --- a/samples/squidb-ios-sample/squidb-ios-sample.xcodeproj/project.pbxproj +++ b/samples/squidb-ios-sample/squidb-ios-sample.xcodeproj/project.pbxproj @@ -159,6 +159,15 @@ BDC8CA6A1BE9352100F7E9E6 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = BDC8CA691BE9352100F7E9E6 /* libsqlite3.tbd */; }; BDD9BF501BEBCCFD00EC6FE4 /* prefixes.properties in Resources */ = {isa = PBXBuildFile; fileRef = BDD9BF4F1BEBCCFD00EC6FE4 /* prefixes.properties */; }; BDD9BF521BEBCD8200EC6FE4 /* IOSSQLiteDatabaseAdapter.java in Sources */ = {isa = PBXBuildFile; fileRef = BDD9BF511BEBCD8200EC6FE4 /* IOSSQLiteDatabaseAdapter.java */; }; + DE9870F62214302000846E67 /* ModelGenErrors.java in Sources */ = {isa = PBXBuildFile; fileRef = DE9870F42214302000846E67 /* ModelGenErrors.java */; }; + DE9870F72214302000846E67 /* Constants.java in Sources */ = {isa = PBXBuildFile; fileRef = DE9870F52214302000846E67 /* Constants.java */; }; + DE9870FA2214303E00846E67 /* ISQLitePreparedStatement.java in Sources */ = {isa = PBXBuildFile; fileRef = DE9870F82214303E00846E67 /* ISQLitePreparedStatement.java */; }; + DE9870FB2214303E00846E67 /* PreparedInsertCache.java in Sources */ = {isa = PBXBuildFile; fileRef = DE9870F92214303E00846E67 /* PreparedInsertCache.java */; }; + DE9870FF2214305C00846E67 /* CompileContext.java in Sources */ = {isa = PBXBuildFile; fileRef = DE9870FC2214305C00846E67 /* CompileContext.java */; }; + DE9871002214305C00846E67 /* DefaultArgumentResolver.java in Sources */ = {isa = PBXBuildFile; fileRef = DE9870FD2214305C00846E67 /* DefaultArgumentResolver.java */; }; + DE9871012214305C00846E67 /* ArgumentResolver.java in Sources */ = {isa = PBXBuildFile; fileRef = DE9870FE2214305C00846E67 /* ArgumentResolver.java */; }; + DE9871032214374100846E67 /* IOSSQLiteStatementAdapter.java in Sources */ = {isa = PBXBuildFile; fileRef = DE9871022214374100846E67 /* IOSSQLiteStatementAdapter.java */; }; + DE9871062214379D00846E67 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = DE9871052214379D00846E67 /* libiconv.tbd */; }; /* End PBXBuildFile section */ /* Begin PBXBuildRule section */ @@ -340,6 +349,15 @@ BDC8CA691BE9352100F7E9E6 /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; }; BDD9BF4F1BEBCCFD00EC6FE4 /* prefixes.properties */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = prefixes.properties; sourceTree = ""; }; BDD9BF511BEBCD8200EC6FE4 /* IOSSQLiteDatabaseAdapter.java */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.java; path = IOSSQLiteDatabaseAdapter.java; sourceTree = ""; }; + DE9870F42214302000846E67 /* ModelGenErrors.java */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.java; path = ModelGenErrors.java; sourceTree = ""; }; + DE9870F52214302000846E67 /* Constants.java */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.java; path = Constants.java; sourceTree = ""; }; + DE9870F82214303E00846E67 /* ISQLitePreparedStatement.java */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.java; path = ISQLitePreparedStatement.java; sourceTree = ""; }; + DE9870F92214303E00846E67 /* PreparedInsertCache.java */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.java; path = PreparedInsertCache.java; sourceTree = ""; }; + DE9870FC2214305C00846E67 /* CompileContext.java */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.java; path = CompileContext.java; sourceTree = ""; }; + DE9870FD2214305C00846E67 /* DefaultArgumentResolver.java */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.java; path = DefaultArgumentResolver.java; sourceTree = ""; }; + DE9870FE2214305C00846E67 /* ArgumentResolver.java */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.java; path = ArgumentResolver.java; sourceTree = ""; }; + DE9871022214374100846E67 /* IOSSQLiteStatementAdapter.java */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.java; path = IOSSQLiteStatementAdapter.java; sourceTree = ""; }; + DE9871052214379D00846E67 /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -347,6 +365,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + DE9871062214379D00846E67 /* libiconv.tbd in Frameworks */, BDC8CA6A1BE9352100F7E9E6 /* libsqlite3.tbd in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -385,6 +404,8 @@ 2228C4401D11D0A900955753 /* data */ = { isa = PBXGroup; children = ( + DE9870F82214303E00846E67 /* ISQLitePreparedStatement.java */, + DE9870F92214303E00846E67 /* PreparedInsertCache.java */, 2228C4411D11D0A900955753 /* AbstractModel.java */, 2228C4421D11D0A900955753 /* DataChangedNotifier.java */, 2228C4431D11D0A900955753 /* ICursor.java */, @@ -405,6 +426,9 @@ 2228C44E1D11D0A900955753 /* sql */ = { isa = PBXGroup; children = ( + DE9870FE2214305C00846E67 /* ArgumentResolver.java */, + DE9870FC2214305C00846E67 /* CompileContext.java */, + DE9870FD2214305C00846E67 /* DefaultArgumentResolver.java */, 2228C44F1D11D0A900955753 /* ArgumentFunction.java */, 2228C4501D11D0A900955753 /* BetweenCriterion.java */, 2228C4511D11D0A900955753 /* BinaryCriterion.java */, @@ -562,6 +586,7 @@ BDC8CA661BE9333300F7E9E6 /* Settings.xcconfig */, BDC8C91B1BE92DD300F7E9E6 /* squidb-ios-sample */, BDC8C91A1BE92DD300F7E9E6 /* Products */, + DE9871042214379D00846E67 /* Frameworks */, ); sourceTree = ""; }; @@ -668,6 +693,8 @@ BDC8C9B91BE9316700F7E9E6 /* annotations */ = { isa = PBXGroup; children = ( + DE9870F52214302000846E67 /* Constants.java */, + DE9870F42214302000846E67 /* ModelGenErrors.java */, BDC8C9BA1BE9316700F7E9E6 /* Alias.java */, BDC8C9BB1BE9316700F7E9E6 /* ColumnSpec.java */, BDC8C9BC1BE9316700F7E9E6 /* Ignore.java */, @@ -814,6 +841,7 @@ BDC8CA131BE931B000F7E9E6 /* ios */ = { isa = PBXGroup; children = ( + DE9871022214374100846E67 /* IOSSQLiteStatementAdapter.java */, BDD9BF511BEBCD8200EC6FE4 /* IOSSQLiteDatabaseAdapter.java */, BDC8CA141BE931B000F7E9E6 /* IOSOpenHelper.java */, BDC8CA161BE931B000F7E9E6 /* SquidCursorFactory.java */, @@ -898,6 +926,14 @@ path = utils; sourceTree = ""; }; + DE9871042214379D00846E67 /* Frameworks */ = { + isa = PBXGroup; + children = ( + DE9871052214379D00846E67 /* libiconv.tbd */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -979,7 +1015,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "${SRCROOT}/generate-models.sh"; + shellScript = "${SRCROOT}/generate-models.sh\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -1020,6 +1056,7 @@ BDC8CA291BE931B000F7E9E6 /* Printer.java in Sources */, 2228C4A41D11D0A900955753 /* MathOperator.java in Sources */, BDC8CA2E1BE931B000F7E9E6 /* SQLiteBlobTooBigException.java in Sources */, + DE9870FA2214303E00846E67 /* ISQLitePreparedStatement.java in Sources */, 2228C4931D11D0A900955753 /* CompilableWithArguments.java in Sources */, 2228C4AA1D11D0A900955753 /* QueryFunction.java in Sources */, BDC8CA381BE931B000F7E9E6 /* SQLiteDatabaseConfiguration.java in Sources */, @@ -1031,6 +1068,7 @@ BDC8CA321BE931B000F7E9E6 /* SQLiteConnectionPool.java in Sources */, 2228C4B31D11D0A900955753 /* TableModelName.java in Sources */, 2228C4B71D11D0A900955753 /* View.java in Sources */, + DE9870FB2214303E00846E67 /* PreparedInsertCache.java in Sources */, BDC0E2BB1BEA722900F429FE /* TaskCell.m in Sources */, BDBF185B1BE976500025045D /* IOSOpenHelperCreator.java in Sources */, BDC8C9CC1BE9316700F7E9E6 /* ViewModelSpec.java in Sources */, @@ -1055,6 +1093,7 @@ BDC8C9CD1BE9316700F7E9E6 /* ViewQuery.java in Sources */, 2228C4981D11D0A900955753 /* Criterion.java in Sources */, BDC8CA4A1BE931B000F7E9E6 /* SQLiteSession.java in Sources */, + DE9870F72214302000846E67 /* Constants.java in Sources */, BDC8CA341BE931B000F7E9E6 /* SQLiteCursor.java in Sources */, BDC8CA1B1BE931B000F7E9E6 /* AbstractCursor.java in Sources */, BDC8C9CA1BE9316700F7E9E6 /* PrimaryKey.java in Sources */, @@ -1065,6 +1104,7 @@ BDC8CA371BE931B000F7E9E6 /* SQLiteDatabase.java in Sources */, 2228C4941D11D0A900955753 /* CompiledArgumentResolver.java in Sources */, BDC8CA481BE931B000F7E9E6 /* SQLiteQueryBuilder.java in Sources */, + DE9871012214305C00846E67 /* ArgumentResolver.java in Sources */, BDC8CA4B1BE931B000F7E9E6 /* SQLiteStatement.java in Sources */, 2228C4A81D11D0A900955753 /* Property.java in Sources */, 2228C49C1D11D0A900955753 /* Field.java in Sources */, @@ -1086,6 +1126,7 @@ 2228C48F1D11D0A900955753 /* BetweenCriterion.java in Sources */, 2228C4A11D11D0A900955753 /* Join.java in Sources */, BDC8CA391BE931B000F7E9E6 /* SQLiteDatabaseCorruptException.java in Sources */, + DE9870FF2214305C00846E67 /* CompileContext.java in Sources */, 2228C49D1D11D0A900955753 /* Function.java in Sources */, BDC8CA2B1BE931B000F7E9E6 /* SQLiteAbortException.java in Sources */, BDC8CA501BE931B000F7E9E6 /* IOSOpenHelper.java in Sources */, @@ -1094,6 +1135,7 @@ BDC0E2BE1BEA770600F429FE /* SimpleTasksNotifier.m in Sources */, BDC8CA431BE931B000F7E9E6 /* SQLiteMisuseException.java in Sources */, 2228C4801D11D0A900955753 /* Beta.java in Sources */, + DE9871002214305C00846E67 /* DefaultArgumentResolver.java in Sources */, 2228C4A61D11D0A900955753 /* Operator.java in Sources */, BDC8CA621BE9321F00F7E9E6 /* TasksDatabase.java in Sources */, 2228C49A1D11D0A900955753 /* Delete.java in Sources */, @@ -1103,8 +1145,10 @@ 2228C4921D11D0A900955753 /* CaseInsensitiveEqualsCriterion.java in Sources */, 2228C49F1D11D0A900955753 /* Index.java in Sources */, 2228C4831D11D0A900955753 /* ICursor.java in Sources */, + DE9871032214374100846E67 /* IOSSQLiteStatementAdapter.java in Sources */, BDC8CA421BE931B000F7E9E6 /* SQLiteGlobal.java in Sources */, BDC8CA331BE931B000F7E9E6 /* SQLiteConstraintException.java in Sources */, + DE9870F62214302000846E67 /* ModelGenErrors.java in Sources */, 2228C4B81D11D0A900955753 /* VirtualTable.java in Sources */, BDC8CA1C1BE931B000F7E9E6 /* AbstractWindowedCursor.java in Sources */, BDC8CA521BE931B000F7E9E6 /* SquidCursorFactory.java in Sources */, diff --git a/samples/squidb-ios-sample/squidb-ios-sample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/samples/squidb-ios-sample/squidb-ios-sample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/samples/squidb-ios-sample/squidb-ios-sample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/samples/squidb-ios-sample/squidb-ios-sample/AppDelegate.m b/samples/squidb-ios-sample/squidb-ios-sample/AppDelegate.m index c46c4966..583f3933 100644 --- a/samples/squidb-ios-sample/squidb-ios-sample/AppDelegate.m +++ b/samples/squidb-ios-sample/squidb-ios-sample/AppDelegate.m @@ -33,13 +33,13 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( UINavigationController *navController = (UINavigationController *)self.window.rootViewController; TasksViewController *rootViewController = (TasksViewController *)navController.viewControllers[0]; - SDBSampleIOSOpenHelperCreator * creator = [[SDBSampleIOSOpenHelperCreator alloc] init]; - [SDBSampleOpenHelperCreator setCreatorWithSDBSampleOpenHelperCreator:creator]; + SDBIOSOpenHelperCreator * creator = [[SDBIOSOpenHelperCreator alloc] init]; + [SDBOpenHelperCreator setCreatorWithSDBOpenHelperCreator:creator]; SimpleTasksNotifier *notifier = [[SimpleTasksNotifier alloc] init]; notifier.tasksViewController = rootViewController; - [[SDBSampleTasksDatabase getInstance] registerDataChangedNotifierWithSDBDataChangedNotifier:notifier]; + [[SDBTasksDatabase getInstance] registerDataChangedNotifierWithSDBDataChangedNotifier:notifier]; return YES; } diff --git a/samples/squidb-ios-sample/squidb-ios-sample/Settings.xcconfig b/samples/squidb-ios-sample/squidb-ios-sample/Settings.xcconfig index 3cf2ad12..43ee4a46 100644 --- a/samples/squidb-ios-sample/squidb-ios-sample/Settings.xcconfig +++ b/samples/squidb-ios-sample/squidb-ios-sample/Settings.xcconfig @@ -15,7 +15,7 @@ // with the name “j2objc-dist” to the parent directory of this project. // The path should be written without quotes, when modified use Xcode's Product -> Clean -J2OBJC_HOME = ${SRCROOT}/../../../j2objc-1.0.2; +J2OBJC_HOME = /Users/j2objc-2.3; SQUIDB_ROOT = ${SRCROOT}/../..; diff --git a/samples/squidb-ios-sample/squidb-ios-sample/TaskCell.h b/samples/squidb-ios-sample/squidb-ios-sample/TaskCell.h index f3f47a9b..59c7822e 100644 --- a/samples/squidb-ios-sample/squidb-ios-sample/TaskCell.h +++ b/samples/squidb-ios-sample/squidb-ios-sample/TaskCell.h @@ -18,6 +18,6 @@ @property (nonatomic, weak) IBOutlet UILabel *tags; -@property (nonatomic, strong, readonly) SDBSampleTask *task; +@property (nonatomic, strong, readonly) SDBTask *task; @end diff --git a/samples/squidb-ios-sample/squidb-ios-sample/TaskCell.m b/samples/squidb-ios-sample/squidb-ios-sample/TaskCell.m index 2ed40d25..88cb6a18 100644 --- a/samples/squidb-ios-sample/squidb-ios-sample/TaskCell.m +++ b/samples/squidb-ios-sample/squidb-ios-sample/TaskCell.m @@ -18,15 +18,17 @@ @implementation TaskCell @synthesize task = _task; @synthesize tags; -- (SDBSampleTask *) task { +- (SDBTask *) task { if (!_task) { - _task = [[SDBSampleTask alloc] init]; + _task = [[SDBTask alloc] init]; } return _task; } - (void)awakeFromNib { // Initialization code + [super awakeFromNib]; + } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { diff --git a/samples/squidb-ios-sample/squidb-ios-sample/TasksViewController.m b/samples/squidb-ios-sample/squidb-ios-sample/TasksViewController.m index 49e63699..ae102fb0 100644 --- a/samples/squidb-ios-sample/squidb-ios-sample/TasksViewController.m +++ b/samples/squidb-ios-sample/squidb-ios-sample/TasksViewController.m @@ -53,7 +53,7 @@ - (void) addTask { style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - [[SDBSampleTaskUtils getInstance] insertNewTaskWithNSString:[alert.textFields objectAtIndex:0].text withInt:0 withLong:0 withNSString:[alert.textFields objectAtIndex:1].text]; + [[SDBTaskUtils getInstance] insertNewTaskWithNSString:[alert.textFields objectAtIndex:0].text withInt:0 withLong:0 withNSString:[alert.textFields objectAtIndex:1].text]; }); }]; @@ -76,7 +76,7 @@ - (void) deliverResult:(SDBSquidCursor *)cursor { - (void) requery { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - SDBSquidCursor *cursor = [[SDBSampleTaskUtils getInstance] getTasksCursor]; + SDBSquidCursor *cursor = [[SDBTaskUtils getInstance] getTasksCursor]; [cursor getCount]; dispatch_async(dispatch_get_main_queue(), ^{ [self deliverResult:cursor]; @@ -108,14 +108,14 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N } else { cell.textLabel.text = [cell.task getTitle]; } - cell.tags.text = [cell.task getWithSDBProperty:SDBSampleTaskUtils_get_TAGS_CONCAT()]; + cell.tags.text = [cell.task getWithSDBProperty:SDBTaskUtils_get_TAGS_CONCAT()]; return cell; } - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath { [self.tasksCursor moveToPositionWithInt:(int) indexPath.row]; - SDBSampleTask *task = [[SDBSampleTask alloc] initWithSDBSquidCursor:self.tasksCursor]; + SDBTask *task = [[SDBTask alloc] initWithSDBSquidCursor:self.tasksCursor]; // Create complete/delete/cancel dialog UIAlertController* alert = [UIAlertController alertControllerWithTitle:[task getTitle] @@ -127,13 +127,13 @@ - (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSI UIAlertAction *deleteAction = [UIAlertAction actionWithTitle:@"Delete" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * action) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - [[SDBSampleTaskUtils getInstance] deleteTaskWithSDBSampleTask:task]; + [[SDBTaskUtils getInstance] completeTaskWithSDBTask:task]; }); }]; UIAlertAction *completeAction = [UIAlertAction actionWithTitle:@"Complete" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - [[SDBSampleTaskUtils getInstance] completeTaskWithSDBSampleTask:task]; + [[SDBTaskUtils getInstance] completeTaskWithSDBTask:task]; }); }]; diff --git a/squidb-ios/native/CursorWindowNative.m b/squidb-ios/native/CursorWindowNative.m index 44e211f6..9d8514c7 100644 --- a/squidb-ios/native/CursorWindowNative.m +++ b/squidb-ios/native/CursorWindowNative.m @@ -168,7 +168,7 @@ + (NSString *)nativeGetString:(NSObject *)windowPtr row:(jint)row column:(jint)c NSLog(@"Failed to allocate memory for string with %d bytes", sizeIncludingNull - 1); return @""; } - return [NSString stringWithCharacters:chars]; + return [NSString java_stringWithCharacters:chars]; } else if (type == FIELD_TYPE_INTEGER) { int64_t value = fieldSlot->data.l; return [NSString stringWithFormat:@"%lld", value]; diff --git a/squidb-ios/native/SQLiteConnectionNative.m b/squidb-ios/native/SQLiteConnectionNative.m index 9b4c8e89..4f96346b 100644 --- a/squidb-ios/native/SQLiteConnectionNative.m +++ b/squidb-ios/native/SQLiteConnectionNative.m @@ -27,6 +27,23 @@ #import "CursorWindowNative.h" #import "NSString+JavaString.h" + +@interface NSString (IOSByteArrayTrans) + +- (IOSByteArray *)java_getBytes_with_encoding:(NSStringEncoding)encoding; + +@end + +@implementation NSString (IOSByteArrayTrans) + +- (IOSByteArray *)java_getBytes_with_encoding:(NSStringEncoding)encoding{ + NSData *data = [self dataUsingEncoding:encoding]; + return [IOSByteArray arrayWithNSData:data]; +} + +@end + + @implementation SQLiteConnectionNative @synthesize db; @@ -163,7 +180,7 @@ + (void) nativeClose:(NSObject *)connectionPtr { + (NSObject *) nativePrepareStatement:(NSObject *)connectionPtr withSql:(NSString *)sqlString { SQLiteConnectionNative* connection = (SQLiteConnectionNative *)(connectionPtr); - IOSByteArray *sql = [sqlString getBytesWithEncoding:NSUTF16StringEncoding]; + IOSByteArray *sql = [sqlString java_getBytes_with_encoding:NSUTF16StringEncoding]; uint32_t sqlLength = [sql length]; sqlite3_stmt* statement; int err = sqlite3_prepare16_v2(connection->db, [sql buffer], sqlLength, &statement, NULL); @@ -232,7 +249,7 @@ + (NSString *) nativeGetColumnName:(NSObject *)connectionPtr statement:(NSObject length += 1; } IOSCharArray *chars = [IOSCharArray newArrayWithChars:name count:length]; - return [NSString stringWithCharacters:chars]; + return [NSString java_stringWithCharacters:chars]; } return nil; } @@ -282,7 +299,7 @@ + (void) nativeBindString:(NSObject *)connectionPtr statement:(NSObject *)statem SQLiteConnectionNative *connection = (SQLiteConnectionNative *)(connectionPtr); SQLitePreparedStatement *statement = (SQLitePreparedStatement *)(statementPtr); - const IOSByteArray *bytes = [value getBytesWithEncoding:NSUTF16StringEncoding]; + const IOSByteArray *bytes = [value java_getBytes_with_encoding:NSUTF16StringEncoding]; int err = sqlite3_bind_text16(statement.statement, index, [bytes buffer], [bytes length], SQLITE_TRANSIENT); if (err != SQLITE_OK) { @@ -350,7 +367,7 @@ + (NSString *) nativeExecuteForString:(NSObject *)connectionPtr statement:(NSObj if (text) { size_t length = sqlite3_column_bytes16(statement.statement, 0) / sizeof(jchar); IOSCharArray *chars = [IOSCharArray newArrayWithChars:text count:length]; - return [NSString stringWithCharacters:chars]; + return [NSString java_stringWithCharacters:chars]; } } return nil;