我想写一个返回NSMutableData的类,我有这个代码,但无法管理它如何返回self。任何帮助都是最好的。
@interface ITumblr_QueryTumblr : NSMutableData {
NSURLConnection* connection;
NSMutableData* data;
}
-(void)loadImageFromURL:(NSURL*)url {
if (connection!=nil) { [connection release]; }
if (data!=nil) { [data release]; }
NSURLRequest* request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
}
-(void)connection:(NSURLConnection *)theConnection didReceiveData:(NSData *)incrementalData {
if (data==nil) {
data = [[NSMutableData alloc] initWithCapacity:2048];
}
[data appendData:incrementalData];
}
-(void)connectionDidFinishLoading:(NSURLConnection*)theConnection {
[connection release];
connection=nil;
[data release];
data=nil;
}发布于 2011-06-04 23:33:07
类不会返回任何内容,但方法可以。要使用返回数据的方法,请使用
-(NSMutableData *)returnSomeData {
return data;
}或者,您可以仅从类的实例中调用属性.data。
发布于 2011-06-04 23:36:20
假设您的url中有一个包含字典的.plist文件,则必须将connectionDidFinishLoading修改为如下所示:
(void)connectionDidFinishLoading:(NSURLConnection*)theConnection {
[connection release]; connection=nil;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
NSString *myFilePath = [documentsDirectoryPathstringByAppendingPathComponent:@"myfile.plist"];
[data writeToFile:myFilePath atomicaly:YES];
[data release]; data=nil;
return [NSMutableDictionary dictionaryWithContentsOfFile:myFilePath];
}但是这是一个很难的方法,你应该使用:
(id)dictionaryWithContentsOfURL:(NSURL *)aURL因为它能帮你省去麻烦
https://stackoverflow.com/questions/6237612
复制相似问题