在Objective C类中调用方法

时间:2011-04-08 00:52:12

标签: iphone objective-c

从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;
}

谢谢, 史蒂夫

3 个答案:

答案 0 :(得分:0)

// 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;
}

当然,您可能希望通过包含方法签名来公开头文件中的方法:

-(NSMutableArray*)parseDataIntoAnArray:(NSString*)aString;

答案 1 :(得分:0)

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;
}

请注意,您的方法(如您定义的那样)返回NSString*,并将其分配给NSMutableArray*,它们是不兼容的指针类型。我上面的例子,将返回类型切换为NSMutableArray*,这是我认为你的意思。

答案 2 :(得分:0)

我认为你应该首先忘记Java或任何其他编程语言。 然后,您可以阅读有关Objective-C和NSString等基本类的文档。 只需看看实际工作的代码,希望能提供帮助:

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.
}