XCODE2011. 3. 12. 17:13

// 초기화 및 배열 넣기

NSMutableArray *arrayData;

arrayData = [NSMutableArray arrayWithCapacity:listCount];


NSString *strData = @"아이폰";

[arrayData addObject:[NSString stringWithFormat:@"%@",strData]];



// Dic 배열에 넣기

NSMutableDictionary *item = [[NSMutableDictionary alloc] init];

[item setObject:[arrToken objectAtIndex:0] forKey:@"date"];

[item setObject:[arrToken objectAtIndex:1] forKey:@"price"];

[arrayData addObject:[item copy]];



// Method

  • addObject:

    Adds the given object to the end of the array.


  • insertObject:atIndex:

    Inserts the given object at index, moving the object there previously, and all objects at higher indices, one along.


  • removeObject:

    Removes all instances of an object in the array


  • removeObjectAtIndex:

    Removes the object at the given index.


  • replaceObjectAtIndex:withObject:

    Replaces the object at index with the one supplied. Returns an error if the index is out of bounds.


  • sortUsingSelector:

    Sorts an array; see SortUsingSelector


  • removeObjectIdenticalTo:

    checks for object identity before removing an object; see NSMutableArrayRemoveObjectIdenticalTo for an example of when this is necessary



출처 : http://blog.naver.com/PostView.nhn?blogId=hana_815&logNo=60112995891
Posted by 오늘마감

댓글을 달아 주세요

XCODE2011. 3. 12. 17:13
NSMutableArray 에서 Deep copy 시  FOR 문을 이용한 Copy는 비효율적 이다 
그래서 아래의 코드를 
-deepMuCopy : (NSMutableArray*) array 
    toNewArray : (NSMutableArray*) arrayNew {

    [arrayNew removeAllObjects];//ensure it's clean

    for (int y = 0; y<9; y++) {
        [arrayNew addObject:[NSMutableArray new]];
        for (int x = 0; x<9; x++) {
                [[arrayNew objectAtIndex:y] addObject:[NSMutableArray new]];

                NSMutableArray *aDomain = [[array objectAtIndex:y] objectAtIndex:x];
                for (int i = 0; i<[aDomain count]; i++) {

                        //copy object by object
                        NSNumber* n = [NSNumber numberWithInt:[[aDomain objectAtIndex:i] intValue]];
                        [[[arrayNew objectAtIndex:y] objectAtIndex:x] addObject:n];
               }
        }
    }
}

간단하게 나타 낼 수 있다...

NSMutableArray *newArray = [[NSMutableArray alloc] initWithArray:oldArray copyItems:YES];




출처 : http://blog.naver.com/PostView.nhn?blogId=coderider&logNo=50096223938
Posted by 오늘마감

댓글을 달아 주세요

아이폰어플개발정보2011. 3. 12. 17:12
- NSArray는 다른 객체 포인터들의 목록이다.

- 자주 사용되는 메소드
- (unsigned)count -> 현재 배열의 객체의 수를 리턴한다.
- (id)objectAtIndex:(unsigned)i -> i번째 위치한 객체를 리턴한다.
- (id)lastObject -> 현재 배열의 맨 마지막 객체를 리턴한다.
- (BOOL)containsObject:(id)anObject -> 현재의 배열에 anObject오브젝트를 포함하면 YES 아니면 NO
- (unsigned)indexOfObject:(id)anObject -> 리시버에서 anObject가 있는지 가장 낮은 색인부터 검색하  여 배열의 색인 값을 리턴한다. 찾지 못하면 NSNotFound를 리턴한다.
 
NSArray *photoList =[NSArray arrayWithObjects:@"Photo 1.jpg", @"Photo 2.jpg", @"Photo 3.jpg", @"Photo 4.jpg",nil];

 
- NSMutableArray는 NSArray를 상속받았지만 객체를 삽입하고 삭제할 수 있도록 확장되었다.

- 자주 사용되는 메소드

             - (void)addObject:(id)anObject -> anObject를 리시버의 끝에 삽입한다. nil배열은 넣을 수 없다.

 - (void)addObjectsFromArray:(NSArray *)otherArray -> 매개체의 배열에 담긴 객체들을 넣는다.

 - (void)insertObject:(id)anObject atIndex:(unsigned)index -> index의 위치에 객체를 삽입한다.

             - (void)removeAllObjects -> 리시버에 포함된 모든객체를 제거한다.
             - (void)removeObject:(id)anObject -> 리시버 배열 안의 anObject를 삭제한다.
             - (void)removeObjectAtIndex;(unsigned)index -> index의 객체를 제거한다.

 


출처 : http://blog.naver.com/PostView.nhn?blogId=yesusok&logNo=50100674668
Posted by 오늘마감

댓글을 달아 주세요

아이폰어플개발정보2010. 10. 5. 06:04
참조할 NSMutableArray 기본적인 소스

#import

#import
#import
#import
#import

#define MAXPRIME 50

int main (int argc, char *argv[])
{
int i, p, prevPrime;
BOOL isPrime;
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

// 소수를 저장할 배열 생성
NSMutableArray *primes = 
[NSMutableArray arrayWithCapacity : 20];

//첫 소수 둘을 배열에 저장한다.
[primes addObject : [NSNumber numberWithInteger : 2]];
[primes addObject : [NSNumber numberWithInteger : 3]];

// 남은 소수 계산
for (p = 5; p <= MAXPRIME; p += 2) {
// p가 소수인지 검사한다.
isPrime = YES;

i = 1;

do{
prevPrime = [[primes objectAtIndex : i] integerValue];

if (p % prevPrime == 0)
isPrime = NO;
++i;
}while ( isPrime == YES && p / prevPrime >= prevPrime );

if (isPrime)
[primes addObject : [NSNumber numberWithInteger : p ]];
}

//결과를 표시한다.
for (i = 0; i < [primes count]; ++i)
NSLog (@"%li", (long) [[primes objectAtIndex : i] integerValue]);

[pool drain];
return 0;
}


출처 : http://blog.naver.com/PostList.nhn?blogId=hana_815¤tPage=57
Posted by 오늘마감

댓글을 달아 주세요

아이폰어플개발정보2010. 6. 21. 22:50
Singleton + NSMutableArray

[test.h]

@interface SingletonShopinfo : NSObject
{
 NSMutableArray *pmaShopinfo;
}

@property (nonatomic, retain) NSMutableArray* pmaShopinfo;

+ (SingletonShopinfo*) sharedShopinfoInstance;

@end

[test.mm]

#include "test.h"

@implementation SingletonShopinfo
@synthesize pmaShopinfo;

+ (SingletonShopinfo*) sharedShopinfoInstance
{
 static SingletonShopinfo *sharedShopinfoInstance;
 
 @synchronized(self)
 {
  if(sharedShopinfoInstance == nil)
  {
   sharedShopinfoInstance = [[SingletonShopinfo alloc] init];
  }
 }
 return sharedShopinfoInstance;
}

- (void) dealloc
{
 [super dealloc];
}

- init
{
    self = [super init];
    if (self) {
//        sessions = [[NSMutableArray alloc] init];
        pmaShopinfo = [[NSMutableArray allocWithZone:[self zone]] init];
    }
    return self;
}

[사용할곳]

#import "test.h"

- (void)viewDidLoad
{

[super viewDidLoad];

SingletonShopinfo *sharedShoinfo = [SingletonShopinfo sharedShopinfoInstance];

NSLog(@"Log %@" ,[NSString stringWithFormat:@"%d ", [[sharedShoinfo pmaShopinfo] count]] );

}

 


출처 : http://blog.naver.com/PostView.nhn?blogId=cbdman&logNo=130087817705
Posted by 오늘마감

댓글을 달아 주세요

XCODE2010. 6. 21. 18:29
NSNumber, NSMutableArray 초기화 및 사용법


출처 : http://blog.naver.com/PostView.nhn?blogId=mewizard&logNo=20065970722
Posted by 오늘마감

댓글을 달아 주세요