从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;
}
谢谢, 史蒂夫
答案 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.
}