NSIntegerをintに変換する方法。

NSInteger nsi = 1;
int i = nsi;

以上。
エラーで落ちるときは、NSIntegerのObjectが生成されていない事を疑う。
例1)

NSMutableArray *ma;
NSInteger i = [ma count];

とか、
例2)

NSUserDefaults *userDafaults = [NSUserDefaults standardUserDefaults];
NSData *data = [userDafaults dataForKey:@"list"];
_ma = [NSKeyedUnarchiver unarchiveObjectWithData:data];

別メッソドにて
int i = [_ma count];

とすると、落ちる。
例1は、allocしていないのが原因。

NSMutableArray *ma = [ [NSMutableArray alloc] init];

例2は、retainしていないのが原因。

_ma = [ [NSKeyedUnarchiver unarchiveObjectWithData:data] retain];

とすれば、解決するだろう。