Java 类到 Objective-C 类

标签 java objective-c cocoa methods code-conversion

我需要知道下面的代码在 Objective-C 中的等效代码是什么

public MyClass(int x, int y) {
        xCoOrdinate = x;
        yCoOrdinate = y;
    }

    public int getXCoOrdinate() {
        return xCoOrdinate;
    }

    public int getYCoOrdinate() {
        return yCoOrdinate;
    }
    public MyClass func() {
        return new MyClass(xCoOrdinate - 1, yCoOrdinate);
    }

这是我尝试过的:

    -(id)initWithX:(int )X andY:(int)Y
{
    if(self = [super init])
    {
        self.xCoOrdinate = X;
        self.yCoOrdinate = Y;

    }
    return self;
}
-(MyClass *)func
{

    return [self initWithX:(self.xCoOrdinate -1)  andY:self.yCoOrdinate];
}

这是正确的方法吗?

最佳答案

没有。您需要返回该类的一个新实例:

-(MyClass *)func
{
    return [[[[self class] alloc] initWithX:(self.xCoOrdinate - 1)  andY:self.yCoOrdinate] autorelease];
}

请注意,我们使用 [[self class alloc] 创建当前类 MyClass 的新实例。

关于Java 类到 Objective-C 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10043574/

相关文章:

ios - 如果我使用委托(delegate)在 View Controller 之间进行通信,我会承担什么风险?

iphone - NSString 解析

objective-c - 使用 LSUIElement (又名无 Dock 图标)但保留 "File, Edit, View"菜单栏?

macos - 在 10.11 中以编程方式从 Assets 目录中获取颜色?

java - 如何在水平 RecyclerView 中基于垂直 RecyclerView 标题设置相同的值

java - 在异步 servlet 中用新请求替换旧请求

java - Hamcrest 匹配器用于不带强制转换的集合参数

java - CXF异步调用异常延迟

ios - 如何使用restkit获取一个简单的json字符串数组

ios - iPhone SDK : does anybody know how to resize uiimage on scrolling