0
NSArray *array = [NSMutableArray array];
如果我使用這段代碼分配一個數組,屏幕後面會發生什麼?這是一種好時尚還是缺點?在我的項目,如果我有這樣的事情:這個objective-c變量初始化時尚是否正確?
NSArray *array = [NSMutableArray array];
array = [array arrayByAddingObject:@"Hi"];
NSLog(@"%@",array);
輸出:嗨
但如果我這樣做是這樣的:5日線得到了觸發
@property (assign) NSArray *filesInfo;
switch (streamEvent) {
case NSStreamEventOpenCompleted: {
self.filesInfo = [NSArray array];
self.didOpenStream = YES;
self.receivedData = [NSMutableData data];
break;
}
case NSStreamEventHasBytesAvailable: {
data = [self.streamInfo read:self];
if (data) {
[self.receivedData appendData:data];
}
else {
[self.streamInfo streamError:self errorCode:kGRFTPClientCantReadStream];
}
break;
}
case NSStreamEventHasSpaceAvailable:
break;
case NSStreamEventErrorOccurred: {
[self.streamInfo streamError:self errorCode:[GRError errorCodeWithError:[theStream streamError]]];
break;
}
case NSStreamEventEndEncountered: {
NSUInteger offset = 0;
CFIndex parsedBytes;
uint8_t *bytes = (uint8_t *)[self.receivedData bytes];
NSUInteger totalbytes = [self.receivedData length];
do {
@autoreleasepool {
CFDictionaryRef listingEntity = NULL;
parsedBytes = CFFTPCreateParsedResourceListing(NULL, &bytes[offset], totalbytes - offset, &listingEntity);
if (parsedBytes > 0) {
if (listingEntity != NULL) {
self.filesInfo = [self.filesInfo arrayByAddingObject:(__bridge_transfer NSDictionary *)listingEntity];
}
offset += parsedBytes;
}
}
} while (parsedBytes > 0);
[self.streamInfo streamComplete:self];
break;
}
default:
break;
}
之後,filesInfo類型變爲到NSConcreteMutableData類型。
預先感謝您!
是的,我知道這是非常破碎和危險。我的項目中的代碼片段是由其他人編寫的2011,似乎模仿Java變量聲明時尚。例如:Map map = new HashMap (); –