1

変数を初期化しようとすると、アプリがクラッシュします

NSString *str = @"Some String";

「EXC_BAD_ACCESS」というエラー メッセージでクラッシュします
。この stmt は関数内にあります。プログラムの他のどこでも初期化は機能していますが、この関数を呼び出すと、アプリがクラッシュしてエラーメッセージが表示されます
Here is my function

+ (NSString *) recvToFile:(NSString *)_fileName {

@try {
    int _sz = [self recvNumber:4];
    uint8_t t[_sz];
    NSMutableData *data = nil;//[[NSMutableData alloc] init];
    NSMutableData *fileData = [[NSMutableData alloc] init];
    NSString *str = @"Some String";
        long _pos = 0;
        NSString *_fullPath = _fileName;
        while (_sz > _pos) {
            long _c = [m_sin read:t maxLength:_sz];
            _pos += _c;
            data = [NSData dataWithBytes:t length:_c];
            if([Misc checkTempFileExists:_fileName]==nil)
                [[NSFileManager defaultManager] createFileAtPath:_fullPath contents:nil attributes:nil];
            [fileData appendData:data];
        }
    [fileData writeToFile:_fullPath atomically:YES];
    NSDictionary *attr = [[NSFileManager defaultManager] attributesOfItemAtPath:_fullPath error:nil];

    long long length = [[attr valueForKey:@"NSFileSize"] intValue];
    if (length >= _sz)
        return (_fullPath);
}
@catch (NSException * e) {
}
return (nil);
}

他のどこでも初期化は機能していますが、この機能では機能していません

4

1 に答える 1

0

あなたのコードではクラスメソッドを使用していて、そのメソッドでは非静的文字列を初期化しているので、問題があると思います。その代わりに、静的NSString = @"SomeString"で確認してください。.mファイルのファイルをインポートした後。フルパス文字列を作成するのと同じ方法で、fullpath = _fileName; @aswinikumar..sorry formyenglishのように割り当てることができます。

于 2012-11-28T10:11:13.237 に答える