首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Objective-C方法对象参数

Objective-C方法对象参数
EN

Stack Overflow用户
提问于 2013-04-03 23:48:00
回答 2查看 102关注 0票数 0

我有一个关于方法中的参数的问题,如下所示:- (BOOL)myMethod:(NSObject*)objectInput;

下面是我试图用PHP解释的内容,以及如何在Objective-C中实现这一点:

代码语言:javascript
复制
<?php
class MyObject {
    public function myFunction($inputObject) {
        return $inputObject->someVariable;
        // get another member from some object not related
        // to this object.
    }
}
?>

我的Objective-C头文件:(MyObject.h)

代码语言:javascript
复制
@interface MyObject : NSObject

- (BOOL)myMethod:(NSObject*)inputObject;

@end

Obj-C实现:(MyObject.m)

代码语言:javascript
复制
#import <Foundation/Foundation.h>
#import "MyObject.h"

@implementation MyObject

- (BOOL)myObject:(NSObject*)inputObject {
    return inputObject.boolMember;
}

@end

问题是,当我在Objective-C中尝试时,Xcode说不存在这样的成员。还有,我想要做的是什么呢?对于Objective-C和它所有的怪异之处,我还是个新手。但是有没有更好的方法呢?

EN

回答 2

Stack Overflow用户

发布于 2013-04-03 23:53:00

您在NSObject上引用的属性不存在。您需要创建自己的NSObject子类并添加一个属性。

代码语言:javascript
复制
@property (nonatomic, assign) BOOL boolMember
票数 1
EN

Stack Overflow用户

发布于 2013-04-03 23:51:12

您正在尝试从NSObject*获取一个名为boolMember的东西,它没有一个名为that的方法或变量。您要么需要传入一个明确具有boolMember的更具体的对象,要么使用自省/反射来确定该对象是否具有名为boolMember的东西。

我更熟悉在Java语言中使用反射,但根据我所能找到的,我认为您会希望在Apple's Objective-C Runtime reference中使用这些方法。如果你特别想要一个变量,你应该能够用class_getProperty方法得到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15791993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档