转换Java来Obejctive-C(的Andr​​oid到iOS) [英] Converting Java to Obejctive-C (Android to iOS)

查看:215
本文介绍了转换Java来Obejctive-C(的Andr​​oid到iOS)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以,我只是完成了从Java转换我的解扰器的方法来Objective-C的位置:<一href=\"http://stackoverflow.com/questions/13794347/converting-java-to-objective-c-android-to-ios\">Converting Java中的Objective-C(的Andr​​oid到iOS)

So I just completed converting my descrambler method from Java to Objective-C Here: Converting Java to Objective-c (Android to iOS)

现在,我需要我的方法加扰从Java转换成Objective-C的

Now I need to convert my scrambler method from Java to Objective-C

这是Java版本:

int scrambBase20[] = {1,2,3};    

String scramble(String input){
    while(input.length()%scrambBase20.length!=0){
        input+=" ";
    }
    String ret="";
    int offset = -scrambBase20.length;
    for(int i=0;i<input.length();i++){
        if(i%scrambBase20.length==0)
            offset+=scrambBase20.length;
        ret+=(char)(((byte)(input.charAt(scrambBase20[i%scrambBase20.length]+offset)))^0x45);
    }
    return ret;
}

这我转换X code版本:

This my converted Xcode version:

int scrambBase20[] = {1,2,3};

-(NSString *) scramble:(NSString*) input{
    while([input length]%(sizeof scrambBase20)!=0){
        input = [input stringByAppendingString:@" "];
    }
    NSString *ret=@"";
    int offset = -(sizeof scrambBase20);
    for(int i=0;i<[input length];i++){
        if(i%(sizeof scrambBase20)==0){
            offset+=(sizeof scrambBase20);
        }
        ret = [ret stringByAppendingString:[NSString stringWithFormat:@"%c",(char)((((Byte)[input characterAtIndex:(scrambBase20[i%(sizeof scrambBase20)]+offset)]))^0x45)]];
    }
    return ret;
}

在运行时我得到以下错误:NSRangeException',原因:' - [__ NSCFString characterAtIndex:]:范围或索引越界

At runtime I get the following error: 'NSRangeException', reason: '-[__NSCFString characterAtIndex:]: Range or index out of bounds'

有谁看到错误,我在做什么?

Does anyone see the error I'm making?

推荐答案

我发现了这个问题。

转换的code不正常工作。问题是,我用了它用我的程序流的顺序。

The converted code does work properly. The problem was that I mixed up the order in which my routines flow.

我不小心加密我的code,然后炒它,而它本来是要抢我的code,然后加密。

I accidentally encrypted my code and then scrambled it while it was supposed to scramble my code then encrypt it.

这篇关于转换Java来Obejctive-C(的Andr​​oid到iOS)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆