[英]Calling methods within an Objective C class
Coming from the Java world to the iPhone, I would like to see the following Java expressed in Objective C. For clarity's sake, I've kept the Obj-C class types. 从Java世界到iPhone,我希望看到在Objective C中表达以下Java。为清楚起见,我保留了Obj-C类类型。
NSString myData = "some stuff";
NSMutableArray myArray = parseDataIntoAnArray(myData);
...
private NSMutableArray parseDataIntoAnArray(NSString aString){
NSMutableArray myArray = new NSMutableArray();
// objects added here to myArray by manipulating aString
return myArray;
}
Thanks, Steve 谢谢,史蒂夫
// All string literals require the "@" symbol at the beginning.
NSString *myData = @"some stuff";
NSMutableArray *myArray = [self parseDataIntoAnArray:myData];
-(NSMutableArray*)parseDataIntoAnArray:(NSString*)aString {
NSMutableArray *myArray = [NSMutableArray array];
return myArray;
}
Of course you would probably want to expose the method in the header file by including the method signature: 当然,您可能希望通过包含方法签名在头文件中公开该方法:
-(NSMutableArray*)parseDataIntoAnArray:(NSString*)aString;
NSString * myData = @"some stuff";
// assumption is that parseDataInto... is a static method on your Foo class
NSMutableArray * myArray = [Foo parseDataIntoAnArray: myData];
+ (NSMutableArray *) parseDataIntoAnArray: (NSString*) aString
{
NSMutableArray *myArray = [NSMutableArray array]
// stuff here
return myArray;
}
Note that your method (as you defined it) returns NSString*
, and is assigning it to a NSMutableArray*
, which are incompatible pointer types. 请注意,您的方法(定义正确)返回
NSString*
,并将其分配给NSMutableArray*
,它们是不兼容的指针类型。 My example above, switches the return type to NSMutableArray*
which is what I think you mean to do. 我在上面的示例中,将返回类型切换为
NSMutableArray*
,这是我认为您要执行的操作。
I think you should first forget Java or any other programming languages. 我认为您首先应该忘记Java或任何其他编程语言。 Then you could read the documentation about Objective-C and the basic classes like NSString or others.
然后,您可以阅读有关Objective-C和基本类(如NSString或其他类)的文档。 Just take a look at the actually working code, hope to help:
只需看一下实际工作的代码,希望对您有所帮助:
NSString *myData = @"some stuff";//string initializer
NSMutableArray *myArray = [self parseDataIntoAnArray:myData];//Object-C's message(just like methods or something)
//instance method, take a parameter named aString
- (NSMutableArray *)parseDataIntoAnArray:(NSString *)aString{
NSMutableArray *myArray = [NSMutableArray array];//array initializer
[myArray addObject:aString];//another Message, add object to the array
return myArray;//return the passed array, that's done.
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.