Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从另一个文件调用方法_Ios_Objective C - Fatal编程技术网

Ios 从另一个文件调用方法

Ios 从另一个文件调用方法,ios,objective-c,Ios,Objective C,我是Objective-C的初学者。我想从fileme.m调用fileyou.m中的方法two。你能用下面的简单例子教我理解吗。谢谢大家! you.h #import <Foundation/Foundation.h> @interface you : NSObject { } - (NSString *)one; - (NSString *)two; @end #import <Foundation/Foundation.h> @interface me : NSOb

我是Objective-C的初学者。我想从file
me.m
调用file
you.m
中的方法
two
。你能用下面的简单例子教我理解吗。谢谢大家!

you.h

#import <Foundation/Foundation.h>
@interface you : NSObject {
}
- (NSString *)one;
- (NSString *)two;
@end
#import <Foundation/Foundation.h>
@interface me : NSObject {
}
@end
me.h

#import <Foundation/Foundation.h>
@interface you : NSObject {
}
- (NSString *)one;
- (NSString *)two;
@end
#import <Foundation/Foundation.h>
@interface me : NSObject {
}
@end

me
类中,创建
you
的实例

you *objectYou=[you new];
由于
two
返回一个字符串,您需要存储它:

NSString *string=[objectYou two];
在代码中:

-(void)awakeFromNib{
    you *objectYou=[you new];
    NSString *str = [objectYou two]; 
    NSLog(@"%@", str);
}
注意:遵循命名约定。类名必须以大写字母开头,如MeYou

编辑:


在您学习的过程中,我想补充一点,因为您正在从
two
调用
one
。如果
one
不打算在
您的
类之外调用。您可以在
.m
中定义它,并从
.h
中删除声明。在
me
类中,创建
You
的实例

you *objectYou=[you new];
由于
two
返回一个字符串,您需要存储它:

NSString *string=[objectYou two];
在代码中:

-(void)awakeFromNib{
    you *objectYou=[you new];
    NSString *str = [objectYou two]; 
    NSLog(@"%@", str);
}
注意:遵循命名约定。类名必须以大写字母开头,如MeYou

编辑:


在您学习的过程中,我想补充一点,因为您正在从
two
调用
one
。如果
one
不打算在
您的
类之外调用。您可以在
.m
中定义它,并从
.h

简单删除声明,在
Me
类中创建
You
类的实例并调用该成员函数。像这样-

you *youInstance = [[you alloc] init];
NSString *retStr = [youInstance two];
顺便说一句,使用类名是一个很好的做法

还要注意这一点-

@interface you
 - (NSString *) twoInstanceMethod;
 + (NSString *) twoClassMethod;
@end

NSString *retStr = [you twoClassMethod]; // This is ok

NSString *retStr = [you twoInstanceMethod]; // this doenst't work, you need an instance:

//so we create instance.
you *youInstance = [[you alloc] init];
NSString *retStr = [youInstance two];

希望这能澄清一些概念…

简单,在
Me
类中创建
You
类的实例并调用该成员函数。像这样-

you *youInstance = [[you alloc] init];
NSString *retStr = [youInstance two];
顺便说一句,使用类名是一个很好的做法

还要注意这一点-

@interface you
 - (NSString *) twoInstanceMethod;
 + (NSString *) twoClassMethod;
@end

NSString *retStr = [you twoClassMethod]; // This is ok

NSString *retStr = [you twoInstanceMethod]; // this doenst't work, you need an instance:

//so we create instance.
you *youInstance = [[you alloc] init];
NSString *retStr = [youInstance two];

希望这能澄清一些概念…

关于两个返回字符串呢?我把它留给@Dede来填补空白。但是为了完整起见,我会编辑我的答案。很好的答案很喜欢:)我现在得到了。非常感谢你的帮助!那么从2返回的字符串呢?我把它留给@Dede来填补空白。但是为了完整起见,我会编辑我的答案。很好的答案很喜欢:)我现在得到了。非常感谢你的帮助!啊,我明白了。非常感谢你!啊,我明白了。非常感谢你!