NSMutableArray에 관한 질문이 있고 그것은 전역적인 것으로 alloc/init입니다.NSMutableArray에 가속도계 값을 채우시겠습니까?
수행 할 작업 : 이진 변수 "permission"이 true로 설정되어있는 한 가속 값을 NSMutableArray에 채우십시오. 나는 또한 허락에 대한 허락을 설정할 때 배열에서 '녹음'을 멈추고 배열을 전화로 이메일로 보낸 파일에 쓰려고한다. 나는 하루 종일 (나는 가장 경험이 많은 코더가 아닐지도 모른다. ")이 포럼을 사용하여 첨부 파일에 아무런 파일 (이 설정은 nil, tadaaa)이 아니지만이 특정 문제에 대해서는 찾을 수없는 것 같은 많은 문제를 해결했습니다. . 솔루션 요점은
는 첨부 파일이 전무하고 나는 해결책을 생각할 수 없다
내가하는 .m 파일의 시작 부분에 다음을 수행하십시오.
BOOL permission = NO; // key variable to enter recording/not recording state
int i = 0; //used to determine place in dataArray
NSMutableArray *dataArray; // axis values get dumped in here
시작하려면 녹화,
- (void)recordStart { //setting permission to yes
permission = YES;
}
,
이 있습니다 가속도계 : UIAccelerometer는 dataArray를 채우기 위해 :
(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
if (permission == YES) {
// NSLog(@"%f"@"%f"@"%f",acceleration.x,acceleration.y,acceleration.z);
NSString *valueString = [NSString stringWithFormat:@"%f, %f,
%f",acceleration.x,acceleration.y,acceleration.z];
[dataArray addObject:valueString];
// NSLog(@"%i",i);
NSLog(@"Array Count: %d", [dataArray count]);
}
}
NSLog는 항상 0을 반환하므로 배열이 비어 있고 정지 방법은 파일에 배열을 쓸 수 없습니다 그것 때문에
- (void)recordStop { //setting permission to no
NSLog(@"Array Count: %d", [dataArray count]);
[[dataArray componentsJoinedByString:@",\n"] writeToFile:[self setFileLocation] atomically:YES encoding:NSUTF8StringEncoding error:NULL];
// 코드가
을 ommitted 난 후 전 세계적으로 다른 곳 배열을 ALLOC해야합니까 : 전무는? 나는 가속도계에서 그것을 할 수 없다. 왜냐하면 그것이 일어날 때마다 그것을 다시 할 것이기 때문이다. (나는 100Hz의 주파수를 설정한다.)
어떤 제안이라도?
xx!
빠른 도움말 주셔서 감사합니다. 나는 전에 컴파일러 오류가 발생했습니다. "초기화 요소는 컴파일 타임 상수가 아닙니다." – coernel
시작/정지를 단추 하나에 넣을 수 있습니까? 하나의 함수 (플러스 가속도계)와 배열을 어떻게 든 다른 방식으로 값을 검색? Java는 FileWriter를 제공합니다. Obj.C 2.0에서 비슷한 것을 사용할 수 있습니까? – coernel
당신은 코드를 정의했다. BOOL permission = NO; // 레코딩 상태/레코딩 상태가 아닌 키 변수 int i = 0; // dataArray에서 장소를 결정하는 데 사용됩니다. NSMutableArray * dataArray; // 축 값이 여기에 덤프 됨 .m 파일의 시작 부분에 ' . 네가 잘못한 것을 내가 아는 것 같아. 이 코드를 - (id) init 메소드로 옮겨보십시오. –