Search Results

Search found 6745 results on 270 pages for 'objective j'.

Page 159/270 | < Previous Page | 155 156 157 158 159 160 161 162 163 164 165 166  | Next Page >

  • NSNotifications vs delegate for multiple instances of same protocol

    - by Brent Traut
    I could use some architectural advice. I've run into the following problem a few times now and I've never found a truly elegant way to solve it. The issue, described at the highest level possible:I have a parent class that would like to act as the delegate for multiple children (all using the same protocol), but when the children call methods on the parent, the parent no longer knows which child is making the call. I would like to use loose coupling (delegates/protocols or notifications) rather than direct calls. I don't need multiple handlers, so notifications seem like they might be overkill. To illustrate the problem, let me try a super-simplified example: I start with a parent view controller (and corresponding view). I create three child views and insert each of them into the parent view. I would like the parent view controller to be notified whenever the user touches one of the children. There are a few options to notify the parent: Define a protocol. The parent implements the protocol and sets itself as the delegate to each of the children. When the user touches a child view, its view controller calls its delegate (the parent). In this case, the parent is notified that a view is touched, but it doesn't know which one. Not good enough. Same as #1, but define the methods in the protocol to also pass some sort of identifier. When the child tells its delegate that it was touched, it also passes a pointer to itself. This way, the parent know exactly which view was touched. It just seems really strange for an object to pass a reference to itself. Use NSNotifications. The parent defines a separate method for each of the three children and then subscribes to the "viewWasTouched" notification for each of the three children as the notification sender. The children don't need to attach themselves to the user dictionary, but they do need to send the notification with a pointer to themselves as the scope. Same as #4, but rather than using separate methods, the parent could just use one with a switch case or other branching along with the notification's sender to determine which path to take. Create multiple man-in-the-middle classes that act as the delegates to the child views and then call methods on the parent either with a pointer to the child or with some other differentiating factor. This approach doesn't seem scalable. Are any of these approaches considered best practice? I can't say for sure, but it feels like I'm missing something more obvious/elegant.

    Read the article

  • How can I make a UIPickerView like a UIDatePicker?

    - by iamthepiguy
    I have a custom UIViewController subclass which acts as Datasource and Delegate for a UIPickerView which I would like to serve two different purposes, as each are simple enough, and don't really warrant separate files. One operation must be as a custom picker, and this works fine. However, for the other operation, I want it to act just like a UIDatePicker. The problem is, UIDatePicker is a subclass of UIControl, not UIPickerView. Is there any sort of enum value I can set in a method (or other way) that will set the UIPickerView to act as a date picker? Or do I have to make two completely different classes and use them differently (pain in the ass)?

    Read the article

  • App Crashes Loading View Controllers

    - by golfromeo
    I have the following code in my AppDelegate.h file: @class mainViewController; @class AboutViewController; @interface iSearchAppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; mainViewController *viewController; AboutViewController *aboutController; UINavigationController *nav; } @property (nonatomic, retain) IBOutlet UIWindow *window; @property (nonatomic, retain) IBOutlet mainViewController *viewController; @property (nonatomic, retain) IBOutlet AboutViewController *aboutController; @property (nonatomic, retain) IBOutlet UINavigationController *nav; [...IBActions declared here...] @end Then, in my .m file: @implementation iSearchAppDelegate @synthesize window; @synthesize viewController, aboutController, settingsData, nav, engines; (void)applicationDidFinishLaunching:(UIApplication *)application { [window addSubview:nav.view]; [window addSubview:aboutController.view]; [window addSubview:viewController.view]; [window makeKeyAndVisible]; } -(IBAction)switchToHome{ [window bringSubviewToFront:viewController.view]; } -(IBAction)switchToSettings{ [window bringSubviewToFront:nav.view]; } -(IBAction)switchToAbout{ [window bringSubviewToFront:aboutController.view]; } - (void)dealloc { [viewController release]; [aboutController release]; [nav release]; [window release]; [super dealloc]; } @end Somehow, when I run the app, the main view presents itself fine... however, when I try to execute the actions to switch views, the app crashes with an EXC_BAD_ACCESS. Thanks for any help in advance.

    Read the article

  • How to check for an active Internet Connection on iPhone SDK?

    - by Brock Woolf
    I would like to check to see if I have an Internet connection on the iPhone using the Cocoa Touch libraries. I came up with a way to do this using an NSUrl. The way I did it seems a bit unreliable (because even Google could one day be down and relying on a 3rd party seems bad) and while I could check to see for a response from some other websites if Google didn't respond, it does seem wasteful and an unnecessary overhead on my application. - (BOOL) connectedToInternet { NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]]; return ( URLString != NULL ) ? YES : NO; } Is what I have done bad? (Not to mention 'stringWithContentsOfURL' is deprecated in 3.0) And if so what is a better way to accomplish this?

    Read the article

  • Optimizing tiled maps in cocos2d-iphone

    - by Omega
    My cocos2d-iphone game has tiled maps. The tilesets textures are rather big. I got around 5 tilesets and each one is 2048x2048 (retina). My maps are around 80x80. They have around 8 layers and each one is obviously using one tileset. The frame rate falls (it goes around 30 sometimes. I know 30 is rather aceptable, but still, I want 50+). So given that textures are huge I can't afford to make many layers (since each one loads a texture of these). So how about I divide my tileset textures into much smaller tilesets (like 1024x1024 each)? That will allow me to use many more layers for my maps, right? Are there any other tips for huge retina display tile maps?

    Read the article

  • Sqlite iPhone data insertion problem

    - by Asad Khan
    Hi I have a function which basically tries to insert some data returned from a REST call. - (void)syncLocalDatabase{ NSString *file = [[NSBundle mainBundle] pathForResource:@"pickuplines" ofType:@"db"]; NSMutableString *query = [[NSMutableString alloc] initWithFormat:@""]; sqlite3 *database = NULL; char *errorMsg = NULL; if (sqlite3_open([file UTF8String], &database) == SQLITE_OK) { for(PickUpLine *pickupline in pickUpLines){ [query appendFormat:@"INSERT INTO pickuplines VALUES(%d,%d,%d,'%@','YES')", pickupline.line_id, pickupline.thumbsUps, pickupline.thumbsDowns, [pickupline.line stringByReplacingOccurrencesOfString:@"'" withString:@"`"]]; NSLog(query); int result = sqlite3_exec(database, [query UTF8String], NULL, NULL, &errorMsg); if (result!=SQLITE_OK) { printf("\n%s",errorMsg); sqlite3_free(errorMsg); } //sqlite3_step([query UTF8String]); [query setString:@""]; }//end for }//end if [query release]; sqlite3_close(database); } everything seems fine query string in log statement is also fine but the data does not gets inserted. Where as a counterpart of this function for select statement works well. Here is the counter part - (void)loadLinesFromDatabase{ NSString *file = [[NSBundle mainBundle] pathForResource:@"pickuplines" ofType:@"db"]; sqlite3 *database = NULL; if (sqlite3_open([file UTF8String], &database) == SQLITE_OK) { sqlite3_exec(database, "SELECT * FROM pickuplines", MyCallback, linesFromDatabase, NULL); } sqlite3_close(database); } I have implemented callback & it works fine. I am a little new to Sqlite can someone please point out what am I doing wrong. Thanx

    Read the article

  • How to set image on EAGL VIEW

    - by Viral
    hi, I want to put images from my photo library in to the EAGL view for some further processing. The image that are already in our resources folder will be taken by itself but mltiple or images from photo library can't. So any one knows how to put image on EAGL view in open GLES. Regtards viral

    Read the article

  • How do I pass an NSString through 3 ViewControllers?

    - by dBloc
    hey, I'm currently using the iPhone SDK and I'm having trouble passing an NSString through 3 views I am able to pass an NSString between 2 view controllers but I am unable to pass it through another one. My code is as follows... `- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)index`Path { NSString *string1 = nil; NSDictionary *dictionary = [listOfItems objectAtIndex:indexPath.section]; NSArray *array = [dictionary objectForKey:@"items"]; string1 = [array objectAtIndex:indexPath.row]; //Initialize the detail view controller and display it. ViewController2 *vc2 = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:[NSBundle mainBundle]]; vc2.string1 = string1; [self.navigationController pushViewController:vc2 animated:YES]; [vc2 release]; vc2 = nil; } in the "ViewController 2" implementations I am able use "string1" in the title bar by doing the following.... - (void)viewDidLoad { [super viewDidLoad]; self.navigationItem.title = string1; UIBarButtonItem *addButton = [[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon_time.png"] style:UIBarButtonItemStylePlain //style:UIBarButtonItemStyleBordered target:self action:@selector(goToThirdView)] autorelease]; self.navigationItem.rightBarButtonItem = addButton; } but I also have a NavBar Button on the right side that I would like to push a new view - (void)goToThirdView { ViewController3 *vc3 = [[ViewController3 alloc] initWithNibName:@"ViewController3" bundle:[NSBundle mainBundle]]; [self.navigationController pushViewController:NESW animated:YES]; vc3.string1 = string1 ; [vc3 release]; vc3 = nil; } How do I pass on that same string to the third view? (or fourth)

    Read the article

  • Reading in a 5000 line text file on the Iphone

    - by howsyourface
    Gday, I am trying to create a tiled map for my game, i have had this previously working using other xml methods but i had memory leaks and all sorts of errors. However i had a map load time of about 2.5 - 3 seconds. So i rewrote all of the code using NSMutableStrings and NSStrings. After my best attempt at optomizing it i had a map load time of 10 - 11 seconds, which is far too slow. So i have now rewritten the code using char* arrays, only to now have a load time of 18 seconds -_-. Here is the latest code, i don't know much c so i could have easily botched the whole thing up. FILE* file = fopen(a, "r"); fseek(file, 0L, SEEK_END); length = ftell(file); fseek(file,0L, SEEK_SET); char fileText[length +1]; char buffer[1024];// = malloc(1024); while(fgets(buffer, 1024, file) != NULL) { strncat(fileText, buffer, strlen(buffer)); } fclose(file); [self parseMapFile:fileText]; - (void)parseMapFile:(char*)tiledXML { currentLayerID = 0; currentTileSetID = 0; tileX = 0; tileY = 0; int tmpGid; NSString* tmpName; int tmpTileWidth; int tmpTileHeight; int tilesetCounter = 0; NSString* tmpLayerName; int tmpLayerHeight; int tmpLayerWidth; int layerCounter = 0; tileX = 0; tileY = 0; int tmpFirstGid = 0; int x; int index; char* r; int counter = 0; while ((x = [self findSubstring:tiledXML substring:"\n"]) != 0) { counter ++; char result[x + 1]; r = &result[0]; [self substringIndex:tiledXML index:x newArray:result]; tiledXML += x+2; index = 0; if (counter == 1) { continue; } else if (counter == 2) { char result1[5]; index = [self getStringBetweenStrings:r substring1:"th=\"" substring2:"\"" newArray:result1]; if (r != 0); mapWidth = atoi(result1); r += index +1; index = 0; index = [self getStringBetweenStrings:r substring1:"ht=\"" substring2:"\"" newArray:result1]; if (r != 0); mapHeight = atoi(result1); r += index +1; index = 0; index = [self getStringBetweenStrings:r substring1:"th=\"" substring2:"\"" newArray:result1]; if (r != 0); tileWidth = atoi(result1); r += index +1; index = 0; index = [self getStringBetweenStrings:r substring1:"ht=\"" substring2:"\"" newArray:result1]; if (r != 0); tileHeight = atoi(result1); continue; } char result2[50]; char result3[3]; if ((index = [self getStringBetweenStrings:r substring1:" gid=\"" substring2:"\"" newArray:result3]) != 0) { tmpGid = atoi(result3); free(result2); if(tmpGid == 0) { [currentLayer addTileAtX:tileX y:tileY tileSetID:-1 tileID:0 globalID:0]; } else { [currentLayer addTileAtX:tileX y:tileY tileSetID:[currentTileSet tileSetID] tileID:tmpGid - [currentTileSet firstGID] globalID:tmpGid]; } tileX ++; if (tileX > [currentLayer layerWidth]-1) { tileY ++; tileX = 0; } } else if ((index = [self getStringBetweenStrings:r substring1:"tgid=\"" substring2:"\"" newArray:result2]) != 0) { tmpFirstGid = atoi(result2); r += index +1; index = 0; index = [self getStringBetweenStrings:r substring1:"me=\"" substring2:"\"" newArray:result2]; if (r != 0); tmpName = [NSString stringWithUTF8String:result2]; r += index +1; index = 0; index = [self getStringBetweenStrings:r substring1:"th=\"" substring2:"\"" newArray:result2]; if (r != 0); tmpTileWidth = atoi(result2); r += index +1; index = 0; index = [self getStringBetweenStrings:r substring1:"ht=\"" substring2:"\"" newArray:result2]; if (r != 0); tmpTileHeight = atoi(result2); } else if ((index = [self getStringBetweenStrings:r substring1:"rce=\"" substring2:"\"" newArray:result2]) != 0) { currentTileSet = [[TileSet alloc] initWithImageNamed:[NSString stringWithUTF8String:result2] name:tmpName tileSetID:tilesetCounter firstGID:tmpFirstGid tileWidth:tmpTileWidth tileHeight:tmpTileHeight spacing:0]; [tileSets addObject:currentTileSet]; [currentTileSet release]; tilesetCounter ++; } else if ((index = [self getStringBetweenStrings:r substring1:"r name=\"" substring2:"\"" newArray:result2]) != 0) { tileX = 0; tileY = 0; tmpLayerName = [NSString stringWithUTF8String:result2]; r += index +1; index = 0; index = [self getStringBetweenStrings:r substring1:"th=\"" substring2:"\"" newArray:result2]; if (r != 0); tmpLayerWidth = atoi(result2); r += index +1; index = 0; index = [self getStringBetweenStrings:r substring1:"ht=\"" substring2:"\"" newArray:result2]; if (r != 0); tmpLayerHeight = atoi(result2); currentLayer = [[Layer alloc] initWithName:tmpLayerName layerID:layerCounter layerWidth:tmpLayerWidth layerHeight:tmpLayerHeight]; [layers addObject:currentLayer]; [currentLayer release]; layerCounter ++; } } } -(void)substringIndex:(char*)c index:(int)x newArray:(char*)result { result[0] = 0; for (int i = 0; i < strlen(c); i++) { result[i] = c[i]; if (i == x) { result[i+1] = '\0'; break; } } } -(int)findSubstring:(char*)c substring:(char*)s { int sCounter = 0; int index = 0; int d; for (int i = 0; i < strlen(c); i ++) { if (i > 500)//max line size break; if (c[i] == s[sCounter]) { d = strlen(s); sCounter ++; if (d > sCounter) { } else { index = i - (d); break; } } else sCounter = 0; } return index; } -(int)getStringBetweenStrings:(char*)c substring1:(char*)s substring2:(char*)s2 newArray:(char*)result { int sCounter = 0; int sCounter2 = 0; int index = 0; int index2 = 0; int d; for (int i = 0; i < strlen(c); i ++) { if (index != 0) { if (c[i] == s2[sCounter2]) { d = strlen(s2); sCounter2 ++; if (d > sCounter2) { } else { index2 = i - (d); break; } } else sCounter2 = 0; } else { if (c[i] == s[sCounter]) { d = strlen(s); sCounter ++; if (d > sCounter) { } else { index = i; } } else sCounter = 0; } } if (index != 0 && index2 != 0) [self substringIndex:(c + index+1) index:index2-index-1 newArray:result]; return index; } (I know it's a lot of code to be putting in here) I thought the by using basic char arrays i could drastically increase the performance, at least over the initial node based code that i was replacing. Thanks for all your efforts.

    Read the article

  • xcode - warning there's no getter/setter for property not even mentioned in the code!!

    - by alexeyndru
    I got the warning : property 'textField' requires method '-textField' to be defined - use @synthesize, @dynamic or provide a method implementation. Now, there is no such property defined in my project! More bizarre, if I just click save in Interface builder and build again, the build is successful - though, right on the line with '@end' the warning appears. Also weird: if I begin to write some code ..and then delete it just the way it was before writing it (maybe not code..anything) and then build&go the warning with the textField appears again. Could be a bug of sdk? What could be happening?

    Read the article

  • How to get cell text based on indexPath?

    - by Sheehan Alam
    I have a UITabBarController with more than 5 UITabBarItems so the moreNavigationController is available. In my UITabBarController Delegate I do the following: - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { //do some stuff //... UITableView *moreView = (UITableView *)self.tabBarController.moreNavigationController.topViewController.view; moreView.delegate = self; } I want to implement a UITableViewDelegate so I can capture the row that was selected, set a custom view property and then push the view controller: - (void)tableView:(UITableView *)tblView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { //how can I get the text of the cell here? } I need to get the text of a cell when the user taps on a row. How can I accomplish this?

    Read the article

  • The item you tried to buy is no longer available [Environment: Sandbox]

    - by Ansari
    I am trying to put In App purchase in my application. I had setup a consumable product which was working fine in Sandbox environment. Now i just made a new product which is non-consumable with new price tier, and deleted the old one. Update my code, with the new Product ID. When request is sent, it properly shows the right Product with newly added price tier, But when you tap on Buy button it gives you the error "The item you tried to buy is no longer available [Environment: Sandbox]". Any idea ?

    Read the article

  • Pedometer_Application in iphone

    - by Arun Sharma
    I am trying make the Pedometer application in iphone. I did n't find any code for this . How to calculate the step with use of acceleormeter.And how to display on screen of iphone I need the source code for using of accelerometer for step counting.PLe help me out from this.

    Read the article

  • UIButton Transition Curl Up problem

    - by Neurofluxation
    Hello again SO peeps! Basically, I am trying to UIViewAnimationTransitionCurlUp a UIButton. The animation works perfectly but the button stays there. i.e. The button curls up, but there is another instance of the button still underneath. My code as follows: [UIButton beginAnimations:nil context:nil]; [UIButton setAnimationDuration:0.5]; [UIButton setAnimationBeginsFromCurrentState:YES]; [UIButton setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES]; [UIButton commitAnimations];

    Read the article

  • NSString sizeWithAttributes: Inaccuracy

    - by dave-gennel
    I want to know the width of an NSString displayed on the screen in pixels. So I can fit an NSTextField its bounds to be exactly the length of the string itself. So I used IB's "Label" NSTextField and for those who don't know what I mean, I got a label with title "Label", font "Lucida Grande 13px", not selectable, not editable, regular size, no background and according to IB its width is 38px wide. If I want to get its width programatically I use [@"Label" sizeWithAttributes: [NSDictionary dictionaryWithObject: [NSFont fontWithName: @"Lucida Grande" size: 13] forKey: NSFontAttributeName]].width Which will give me 33.293457 . So that's about 5 px of the real width..

    Read the article

  • custom UIButton with skewed area in iPhone

    - by sugar
    I want to have a button on a screen with this image. this image is transparent from its corners as you can see here. UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom]; [btn setFrame:CGRectMake(xCo, yCo, kImageSizeWidth, kImageSizeHeight)]; [btn setImage:[UIImage imageNamed:@"aboveImg.png"] forState:UIControlStateNormal]; [btn addTarget:self action:@selector(btnTapped:) forControlEvents:UIControlEventTouchDown]; But the button tap is recognized out side image & i don't want that kind of functionality. I mean tap must be recognized only when it is tapped within image not outside image. How is that possible ? Thanks in advance for sharing your great knowledge. Sagar.

    Read the article

  • Automatically hide toolbar when it is not in use.

    - by Koning WWWWWWWWWWWWWWWWWWWWWWW
    I am creating a Cocoa Application for Mac OS 10.6 , and I want to hide the toolbar of an NSWindow automatically when it is not in use for at least 30 seconds. I think this can be done with NSTimers, but I'm not familiar with them and I don't know how I can implement this. Another problem is that both the NSToolbarDelegate and NSWindowDelegate protocols don't have delegate methods like toolbarDidShow: Can anyone point me in the right direction? Thanks. PS. This is not to punish the user, but rather give the user a cleaner window (the window consist of only a toolbar for color and font and a text-view). PPS. Can the hide-toolbar-animation lead into a problem with the cursor while the user is typing?

    Read the article

  • Return number of objects in NSArray

    - by Viral
    hi friends I am making a book application, in that for moving to next topic i am keeping a button. The Button works as it passes to the next topic , but at the end of the file my application gets message obj_fatal and it crashes. So if i can know that how many number of objects are there in my array(NSARRAY)den the problem will be solved. I am getting the details from a .plist file and storing it in to a array. So if any one know it please let me know. Thanks in advance. Viral.

    Read the article

< Previous Page | 155 156 157 158 159 160 161 162 163 164 165 166  | Next Page >