Ios 从另一个文件调用方法
我是Objective-C的初学者。我想从fileIos 从另一个文件调用方法,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
me.m
调用fileyou.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);
}
注意:遵循命名约定。类名必须以大写字母开头,如Me,You
编辑:
在您学习的过程中,我想补充一点,因为您正在从
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);
}
注意:遵循命名约定。类名必须以大写字母开头,如Me,You
编辑:
在您学习的过程中,我想补充一点,因为您正在从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来填补空白。但是为了完整起见,我会编辑我的答案。很好的答案很喜欢:)我现在得到了。非常感谢你的帮助!啊,我明白了。非常感谢你!啊,我明白了。非常感谢你!