Re: JDBC Frameworks?

2008-07-11 Thread Nick Zitzmann


On Jul 10, 2008, at 9:21 PM, Tom Jones wrote:

Hmm, this is really a shame. I guess I was just looking for a good  
framework to use to connect to a database. I think this is a big  
hole that Apple should really fill. It would be really cool if we  
could connect to other databases rather than just SQLite.



They do; it's called ODBC. And it connects to databases other than  
SQLite.


Nick Zitzmann





___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: garbage collection and NSConnection

2008-07-11 Thread Marcel Weiher

There are several ways to share the implementation:

1.  Do nothing, CF and Foundation already do it for most of their
objects
  (and they share their implementation...probably  
unreasonably...)


This, obviously, doesn't work for your own classes.


But a lot of the objects you will use will tend to be Foundation  
objects, especially if you've adopted the temp-object-heavy style.





2.  Implement a common superclass


This doesn't work if you're subclassing something other than  
NSObject already.


Non-NSObject subclasses tend to be things like NSViews which are  
fairly heavy-weight and not that temporary.


3.  Implement a function, inline function or macro that takes a  
pointer

to the refcount ivar.


This works, but still leaves you to copy/paste glue code everywhere.


You don't even have to do that if you don't want to.

Not every solution works in every context, but combined, they cover  
the bases rather well, making sharing the implementation quite easy.   
In my experience.




[not referring to scanning overhead]

- Temporary objects get a 'release' at the end of their life, and
usually an 'autorelease' at the beginning.


The cost of a single refcounting op is negligible compared to the cost  
of object allocation, so these two are quite irrelevant.



- Jumping objects across the end of an autorelease pool by retaining
them before destroying the pool.


In my experience, this is rather rare, and the cost once again tends  
to be completely negligible compared to the cost of destroying the  
pool and the objects in the pool.



- Paranoid or thread-safe accessors do a retain/autorelease dance
before returning.


This one is actually a problem.  Don't do that, it isn't actually  
thread-safe and can cause at least as many problems as it 'solves'.


Yes, just like objects don't get retained when they are stored in  
local

variables, that happens when you store them into instance variables.


They do get released though, which is a refcount operation that
doesn't happen in the GC world.


Once again, the -release is completely negligible compared to the  
actual deallocation.


Taking into account the programming style a language supports is  
about as

far from a micro-optimization as you can get.  It is an architectural
concern that informs how you structure your system, changing it
after-the-fact often turns out to be impossible.  At least that's  
been my

experience over the last 20 years or so, YMMV.


I'm not sure I understand what you're saying here. My point is that
ObjC makes it very easy and natural to create temporary objects
without worrying about their lifetimes.


That is exactly my point:  this is one case where the comparative ease  
is deceptive, as creating lots of temporary objects is not something  
that Objective-C supports well.  Objective-C is a *hybrid* OO  
language, not a pure OO language.



In my experience, code which goes to great lengths to avoid  
autoreleased objects is messy and much

more bug prone than the "normal" way.


Yes, if it is autoreleasing you avoid, not object creation in the  
first place.  The extra autorelease only costs you maybe 30%, the  
extra object allocation costs you an order of magnitude or more.  So  
for example, my standard pattern for initialization is something like  
this:


-init {
self=[super init];
[self setFoo:[Bar bar]];
return self;
}




Thus, yes, you can avoid many
autoreleased objects if you want, but this is a painful micro
optimization, not the standard way to do things.


Once again, avoiding temporary object-creation is not a micro- 
optimization, and creating lots of temporary objects is definitely NOT  
the standard way to do things in Objective-C.


You might have heard about the 80/20 rule, which is actually more a  
90/10 or
95/05 rule:  most of the execution time is spent in a very small  
portion of

your code.  Being able to go in and *really* optimize those hotspots
actually gives you the most bang for the buck.  The "typical  
usage", meaning

the bulk of the program, generally does not matter.


I did my master's thesis on high performance code and optimization; I
am more than vaguely familiar with these concepts.


Glad to hear that!  However, in the sections above you were  
continually treating ops that differ in cost by an order of magnitude  
or more with equal weight, which makes me somewhat dubious of your  
claimed credentials...


My point is merely that GC can help you without you needing to  
change your code in any

way. This, to me, is more valuable than peppering my code with lots of
painful manual memory management to make it go faster.


...as does this.  Once again:  this is not about randomly "peppering"  
code with "lots of painful manual memory management", this is about  
(a) adopting a coding style that is clean, (b) flows with what  
Objective-C provides and is good at and (c) allows for the highly  
focused optimizations that actually 

Re: Storing structured data in file - any easy way?

2008-07-11 Thread Jules Colding


On 11/07/2008, at 01.28, Chris Hanson wrote:


On Jul 10, 2008, at 6:09 AM, Jules Colding wrote:

I'm trying to figure out how to write and read structured data to a  
specific file. I have a very bad feeling that the answer is Core  
Data, but I'm feeling totally at lost after having been reading up  
on Core Data for a couple of days by now.


That's what Core Data is for, yes.


This is what I would like to do:

1) I want to store several top-level objects.

2) A top-level object have a few optional attributes.

3) Each top-level object have two-way relationships to sub-objects.

4) Sub-objects has also a few optional attributes.

5) A top-level object may contain many sub-objects.


Obviously I would like to read and write to the data file as well  
as create and delete objects within. There must be a simple way to  
do this but I just can't figure out how...


Out of curiosity, what do you find not simple about doing the above  
using Core Data?



It is easy enough to create the data model using xcode, but how that  
connects to actual code is harder to see.


Maybe I'm just overwhelmed... I've had to learn about Sync Services,  
Cocoa, xcode, the Foundation framework and not to forget Objective-C,  
from scratch in just the last month or so. I'm new to the entire Mac  
development environment (I'm coming from linux) so you can imagine  
that my head is rather busy digesting it all. Anyway, I must say that  
I find it the best thought-out development environment that I've ever  
had the pleasure to work within.



Best regards,
  jules
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Setting DPI of image data

2008-07-11 Thread Marcel Weiher


On Jul 10, 2008, at 20:16 , Graham Cox wrote:

I'm using NSBitMapImageRep's -representationUsingType:properties:  
method to convert data to JPEG, TIFF, etc. I'd like to be able to  
specify the DPI of the image. I can calculate the right number of  
pixels needed for a given DPI OK, but the image always comes up as  
having 72 dpi when opened in another app. Is there a way to set this  
property at this level, or am I forced to drop down into Image I/O?


DPI of the NSBitmapImageRep is controlled indirectly via the 'size'  
instance variable, with the size given in Postscript points.  I just  
tried it out and it still works as expected, at least when generating  
a TIFFRepresentation:


[EMAIL PROTECTED]
> image := NSBitmapImageRep alloc initWithData:(NSData  
dataWithContentsOfFile:'IMG_0193.JPG')

> image
NSBitmapImageRep 0x232800 Size={1126.4, 844.8}  
ColorSpace=NSCalibratedRGBColorSpace BPS=8 BPP=24 Pixels=2816x2112  
Alpha=NO Planar=NO Format=0

> image size.
{1126.4, 844.8}
> image TIFFRepresentation writeToFile:'/tmp/img0193.tiff' atomically: 
1.

1
> image setSize:((image size) / ([EMAIL PROTECTED]))
> image size.
{563.2, 422.4}
> image TIFFRepresentation writeToFile:'/tmp/img0193_d2.tiff'  
atomically:1.

1
> ^D
Bye!
[EMAIL PROTECTED] /tmp
/tmp ~/Pictures
[EMAIL PROTECTED] -info *.tiff
*** img0193.tiff
Directory at 0x1104008
  Image Width: 2816 Image Length: 2112
  Resolution: 180, 180
  Resolution Unit: pixels/inch
  Bits/Sample: 8
  Sample Format: unsigned integer
  Compression Scheme: none
  Photometric Interpretation: RGB color
  Orientation: row 0 top, col 0 lhs
  Samples/Pixel: 3
  Rows/Strip: 15
  Number of Strips: 141
  Planar Configuration: Not planar

*** img0193_d2.tiff
Directory at 0x1104008
  Image Width: 2816 Image Length: 2112
  Resolution: 360, 360
  Resolution Unit: pixels/inch
  Bits/Sample: 8
  Sample Format: unsigned integer
  Compression Scheme: none
  Photometric Interpretation: RGB color
  Orientation: row 0 top, col 0 lhs
  Samples/Pixel: 3
  Rows/Strip: 15
  Number of Strips: 141
  Planar Configuration: Not planar
[EMAIL PROTECTED]

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Setting DPI of image data

2008-07-11 Thread Heinrich Giesen


On 11.07.2008, at 05:37, Graham Cox wrote:


I'm using NSBitMapImageRep's -representationUsingType:properties:
method to convert data to JPEG, TIFF, etc. I'd like to be able to
specify the DPI of the image. I can calculate the right number of
pixels needed for a given DPI OK, but the image always comes up as
having 72 dpi when opened in another app. Is there a way to set this
property at this level, or am I forced to drop down into Image I/O?



If you create image data of Type jpeg, tiff, png, etc from a sourceRep
(NSBitMapImageRep) with -representationUsingType:properties: these data
contain the number of pixels *and* the resolution of the sourceRep.
If you want a special resolution you have to set that value in the
sourceRep. But you can't set the resolution directly in NSBitMapImageRep
with something like -setResolutionX:resolutionY: You have to set the
size of the rep! Because of:
size.width = 72.0*pixelsWide / resolutionX
size.height = 72.0*pixelsHigh / resolutionY
(size has the dimension of a length and the unit 1/72 inch;
 resolution has the dimension "dots per length" and the
 unit "dots per inch"; pixelsWide, pixelsHigh are dimensionless  
numbers.)

there is no difference between setting the resolution and setting
the size.

If the rep shall have a resolution of 72 dpi, the size must be set
to (pseudocode) size = (pixelsWide, pixelsHigh); (Because this is the
default, you need not do so.) This is a bit confusing. A lot
of programmers think that size and number of pixels are one and the
same with different words. The values are indead *numerically* the same,
but only for a resolution of 72 dpi.

If the rep shall have a resolution of 144 dpi, the size must be set
to size = (pixelsWide/2.0, pixelsHigh/2.0);

For these settings in my programs I use a category for NSBitMapImageRep
which does the job.

One other point. Let's have a sourceRep with a resolution of 100 dpi
and this sourceRep is stored as png-file (data come from
-representationUsingType:properties:) then Preview.app will show a
resolution of 99.9998 dpi which is correct! This happens because in
png-files the resolution is stored as int with the unit "dots per  
meter":

res [dots per meter] = (int)(1 / 2.54) = 3937
or:
res [dots per inch] = 3937*0.0254 = 99.9998

Heinrich

--
Heinrich Giesen
[EMAIL PROTECTED]


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: How do I copy a view?

2008-07-11 Thread Mike Abdullah
Well assuming this so-called "UIButton" is a view class of your own  
creation, why are you using NSArchiver but then NSKeyedUnarchiver  
(keyed is recommended for all modern apps). The more common Cocoa  
approach is not to "copy" the view, but instead have it in its own  
dedicated nib where you can load a new copy as you need it.


Mike.

On 11 Jul 2008, at 05:07, Philip Dhingra wrote:

Sorry, I should've elaborated by "breaks." The application just  
stops. If I
put a break point at that spot, and try stepping over, nothing  
happens. I

can press it over and over again, nothing.

On Thu, Jul 10, 2008 at 10:28 PM, Graham Cox  
<[EMAIL PROTECTED]> wrote:



I assume that UIButton is an iPhone class. Well, we can't talk about
that...

If it were an NSView, archiving works for copying views, but maybe
UIButtons aren't archivable? (Guessing, obviously).

When you say it "breaks" what do you mean if you get no error  
message?



Graham



On 11 Jul 2008, at 1:21 pm, Philip Dhingra wrote:

I'm trying to add a copy of a view as a subview to the parent view.  
This

is
what I tried:

UIButton* firstButton = [[UIButton alloc]
initWithFrame:CGRectMake(0,0,360,
360)];

NSData *btnData = [NSArchiver  
archivedDataWithRootObject:firstButton]; //

Breaks Here

[parentView addSubview:firstButton];

UIButton *twin = [NSKeyedUnarchiver  
unarchiveObjectWithData:btnData];


[parentView addSubview:twin];

It breaks when I try to archive the object, and I don't get any  
error
message in the console. Maybe there's another error console (I'm  
new to

Cocoa) that shows what's wrong.

Is there any way to copy or mirror a view?

Thanks,

Phil
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/graham.cox%40bigpond.com

This email sent to [EMAIL PROTECTED]





___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/cocoadev%40mikeabdullah.net

This email sent to [EMAIL PROTECTED]


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


NSImage Crash

2008-07-11 Thread parag vibhute
Hi all,

Following is the statement in my code
NSImage *img = [[[NSImage alloc] initWithContentsOfFile:[[NSBundle
bundleForClass:[self class]] pathForImageResource:@"testicon"]]
autorelease];

Here testicon is Apple Icon Image file i.e. its extension is .icns
This application was running fine from 10 months but yesterday it was
crashed. From crash reported, it seems that it was crashed on above
statemement. Following is part of crash report.

Thread 2 Crashed:
0   com.apple.CoreFoundation 0x90830a41 __CFFromUTF8 + 565
1   com.apple.CoreFoundation 0x90830170 __CFStringDecodeByteStream3 +
1954
2   com.apple.CoreFoundation 0x9080bfaf __CFStringCreateImmutableFunnel3
+ 672
3   com.apple.CoreFoundation 0x90818c4f CFStringCreateWithBytes + 94
4   com.apple.CoreFoundation 0x9082ec62 _CFPropertyListCreateFromXMLData
+ 824
5   com.apple.CoreFoundation 0x9082e927 CFPropertyListCreateFromXMLData
+ 54
6   com.apple.CoreFoundation 0x908201d1
_CFBundleCopyInfoDictionaryInDirectoryWithVersion + 1402
7   com.apple.CoreFoundation 0x9081fc48 CFBundleGetInfoDictionary + 55
8   com.apple.CoreFoundation 0x90817362 _CFBundleCreate + 751
9   com.apple.LaunchServices 0x9189b185
LSRegisterDirectoryNode(LSContext*, FSNode*, LSRegistrationInfo*,
AliasRecord const*, unsigned long*) + 75
10  com.apple.LaunchServices 0x91898658 _LSFindOrRegisterBundleNode +
1064
11  com.apple.LaunchServices 0x91893fc9 LSDatabaseClean(LSDatabase*) +
211
12  com.apple.LaunchServices 0x91892460 _LSContextInit + 522
13  com.apple.LaunchServices 0x9189ee3b
UTTypeCreatePreferredIdentifierForTag + 51
14  com.apple.AppKit 0x932a128e +[NSBitmapImageRep
_imagesWithData:hfsFileType:extension:zone:] + 
15  com.apple.AppKit 0x932bf00b +[NSBitmapImageRep
_imageRepsWithData:hfsFileType:extension:] + 92
16  com.apple.AppKit 0x932bea7e +[NSImageRep
imageRepsWithContentsOfFile:] + 646
17  com.apple.AppKit 0x932be776 -[NSImage
initWithContentsOfFile:] + 45

Can anybody what went wrong?

Thanks,
Palav

-- 

There are many things in your life that will catch your eye but only a few
will catch your heartpursue those'.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Calling autorelease on CFAllocated objects?

2008-07-11 Thread Ken Ferry
One caveat:  If you're writing code that needs to function with
garbage collection on, CFRelease and -release are not equivalent.  See
http://developer.apple.com/documentation/Cocoa/Conceptual/GarbageCollection/Articles/gcCoreFoundation.html
for details, but the form thats safe for both gc and non-gc is
[NSMakeCollectable(someCFThing) autorelease].

-Ken

On Wed, Jul 9, 2008 at 4:47 PM, Wade Tregaskis <[EMAIL PROTECTED]> wrote:
>> http://www.cocoabuilder.com/archive/message/cocoa/2008/7/5/212046
>>
>> I wish this were better documented; the Search Kit docs show autorelease
>> being sent to an SKDocumentRef, also, and that's always made me nervous (I
>> think I actually sent feedback on that one a long time ago).
>
> I do apologise, you are absolutely correct.  The confusion arises from the
> fact that the term "toll-free bridging" is used to describe CF objects that
> have real NS equivalents, functionally.  In fact, all CF objects are
> bridged, in a functional sense - just that by default they're bridged to
> essentially NSObject so all you get is the basic NSObject functionality.
>
> So my previous answer was actually right, just not helpful. :D
>
> The documentation could be clearer, yes.  I just filed a bug report myself,
> which I know isn't the first, but if you do encounter places in the
> documentation which talk about toll-free bridging and are ambiguous or
> seemingly contrary to this, please file bug reports for those specifically.
>
> Wade
> ___
>
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/kenferry%40gmail.com
>
> This email sent to [EMAIL PROTECTED]
>
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: JDBC Frameworks?

2008-07-11 Thread Jonathan Monroe


On Jul 11, 2008, at 9:39 AM, Nick Zitzmann wrote:


Hmm, this is really a shame. I guess I was just looking for a good
framework to use to connect to a database. I think this is a big
hole that Apple should really fill. It would be really cool if we
could connect to other databases rather than just SQLite.



They do; it's called ODBC. And it connects to databases other than
SQLite.


Andy Satori's open source ODBCKit framework is a good start for ObjC  
apps:


http://sourceforge.net/projects/odbckit


Jonathan Monroe
Actual Technologies - ODBC for Mac OS X
[EMAIL PROTECTED]

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: NSImage Crash

2008-07-11 Thread Mike Abdullah
Core Foundation is crashing trying to read in a bundle's info.plist.  
I've seen this happen with our own app a few times but am yet to track  
it down. Presumably, some bundle somewhere has a corrupted info.plist  
file. Even so, if you can find the culprit, it should not be crashing  
Core Foundation like that.


Mike.

On 11 Jul 2008, at 11:32, parag vibhute wrote:


Hi all,

Following is the statement in my code
   NSImage *img = [[[NSImage alloc] initWithContentsOfFile:[[NSBundle
bundleForClass:[self class]] pathForImageResource:@"testicon"]]
autorelease];

Here testicon is Apple Icon Image file i.e. its extension is .icns
This application was running fine from 10 months but yesterday it was
crashed. From crash reported, it seems that it was crashed on above
statemement. Following is part of crash report.

Thread 2 Crashed:
0   com.apple.CoreFoundation 0x90830a41 __CFFromUTF8 + 565
1   com.apple.CoreFoundation 0x90830170  
__CFStringDecodeByteStream3 +

1954
2   com.apple.CoreFoundation 0x9080bfaf  
__CFStringCreateImmutableFunnel3

+ 672
3   com.apple.CoreFoundation 0x90818c4f CFStringCreateWithBytes  
+ 94
4   com.apple.CoreFoundation 0x9082ec62  
_CFPropertyListCreateFromXMLData

+ 824
5   com.apple.CoreFoundation 0x9082e927  
CFPropertyListCreateFromXMLData

+ 54
6   com.apple.CoreFoundation 0x908201d1
_CFBundleCopyInfoDictionaryInDirectoryWithVersion + 1402
7   com.apple.CoreFoundation 0x9081fc48  
CFBundleGetInfoDictionary + 55

8   com.apple.CoreFoundation 0x90817362 _CFBundleCreate + 751
9   com.apple.LaunchServices 0x9189b185
LSRegisterDirectoryNode(LSContext*, FSNode*, LSRegistrationInfo*,
AliasRecord const*, unsigned long*) + 75
10  com.apple.LaunchServices 0x91898658  
_LSFindOrRegisterBundleNode +

1064
11  com.apple.LaunchServices 0x91893fc9  
LSDatabaseClean(LSDatabase*) +

211
12  com.apple.LaunchServices 0x91892460 _LSContextInit + 522
13  com.apple.LaunchServices 0x9189ee3b
UTTypeCreatePreferredIdentifierForTag + 51
14  com.apple.AppKit 0x932a128e +[NSBitmapImageRep
_imagesWithData:hfsFileType:extension:zone:] + 
15  com.apple.AppKit 0x932bf00b +[NSBitmapImageRep
_imageRepsWithData:hfsFileType:extension:] + 92
16  com.apple.AppKit 0x932bea7e +[NSImageRep
imageRepsWithContentsOfFile:] + 646
17  com.apple.AppKit 0x932be776 -[NSImage
initWithContentsOfFile:] + 45

Can anybody what went wrong?

Thanks,
Palav

--

There are many things in your life that will catch your eye but only  
a few

will catch your heartpursue those'.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/cocoadev%40mikeabdullah.net

This email sent to [EMAIL PROTECTED]


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Learning How to Program in Objective-C

2008-07-11 Thread sica203

Hello forum,
This is my very first post and will get right to the point.
First, I have no programming experience at all.
I want to learn how to program using Xcode.
I'd like to do it at home self paced and I also understand that this  
is going to be a very long journey and I'm ready for it.


So, I ask you for suggestion/inputs and please don't hold back. If  
it's not possible I'll understand.


If it is possible, since I'm on 10.4.11, would the latest version of  
Xcode be 2.5to download?

And does it include everything I need?

Thank you all for reading
very much appreciated


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


RE: Learning How to Program in Objective-C

2008-07-11 Thread Luca Ciciriello

Hi.
You are right. If you have no programming experienced at all, yours will be a 
very long journey.
Anyway you can start with a good tutorial in OOP (object oriented programming) 
and then start to learn some basis of Objective-C and COCOA framework. 

Yes, Xcode 2.5 on 10.4.11 (2.5 is the last version downloadable on 10.4.11, 
Xcode 3.0 or 3.1 run only on 10.5) is more than enough to start learning 
Objective-C

For any other doubts, don't esitate to ask.

Luca.

> Date: Fri, 11 Jul 2008 13:30:06 +
> From: [EMAIL PROTECTED]
> To: cocoa-dev@lists.apple.com
> Subject: Learning How to Program in Objective-C
> 
> Hello forum,
> This is my very first post and will get right to the point.
> First, I have no programming experience at all.
> I want to learn how to program using Xcode.
> I'd like to do it at home self paced and I also understand that this  
> is going to be a very long journey and I'm ready for it.
> 
> So, I ask you for suggestion/inputs and please don't hold back. If  
> it's not possible I'll understand.
> 
> If it is possible, since I'm on 10.4.11, would the latest version of  
> Xcode be 2.5to download?
> And does it include everything I need?
> 
> Thank you all for reading
> very much appreciated
> 
> 
> ___
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/luca_ciciriello%40hotmail.com
> 
> This email sent to [EMAIL PROTECTED]
_
The John Lewis Clearance - save up to 50% with FREE delivery
http://clk.atdmt.com/UKM/go/101719806/direct/01/___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Learning How to Program in Objective-C

2008-07-11 Thread Jon Buys
I'm in the same boat.  The best thing I can recommend is to buy the Cocoa
Programming book by Hillegass:
http://www.amazon.com/exec/obidos/ASIN/0321503619/bignerdranch-20

I'm halfway through, working on the chapter 18 challenge.  Between that
book, Apple's developer web site, and this mailling list, there is more than
enough to get you started.

Good luck!

Jon

On 7/11/08, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
> Hello forum,
> This is my very first post and will get right to the point.
> First, I have no programming experience at all.
> I want to learn how to program using Xcode.
> I'd like to do it at home self paced and I also understand that this is
> going to be a very long journey and I'm ready for it.
>
> So, I ask you for suggestion/inputs and please don't hold back. If it's not
> possible I'll understand.
>
> If it is possible, since I'm on 10.4.11, would the latest version of Xcode
> be 2.5to download?
> And does it include everything I need?
>
> Thank you all for reading
> very much appreciated
>
>
> ___
>
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/jonbuys76%40gmail.com
>
> This email sent to [EMAIL PROTECTED]
>
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Learning How to Program in Objective-C

2008-07-11 Thread Toporek, Chuck
You might also look for a CocoaHeads group near you
(http://www.cocoaheads.org), and start combing through blogs of other Mac
developers (see http://www.cocoablogs.com/).

Chuck


On 7/11/08 9:30 AM, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:

> Hello forum,
> This is my very first post and will get right to the point.
> First, I have no programming experience at all.
> I want to learn how to program using Xcode.
> I'd like to do it at home self paced and I also understand that this
> is going to be a very long journey and I'm ready for it.
> 
> So, I ask you for suggestion/inputs and please don't hold back. If
> it's not possible I'll understand.
> 
> If it is possible, since I'm on 10.4.11, would the latest version of
> Xcode be 2.5to download?
> And does it include everything I need?
> 
> Thank you all for reading
> very much appreciated
> 
> 
> ___
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/chuck.toporek%40pearson.com
> 
> This email sent to [EMAIL PROTECTED]

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Learning How to Program in Objective-C

2008-07-11 Thread Joe Kavanagh

Hi,
I understand where you're coming from having just come down this road  
not to recently myself...


The path I took was Learn C -> Obj-C -> Cocoa.  It worked really well  
because it went from the most basic to the more advanced starting at  
quite a low level.


The C tutorial I used was 
http://gd.tuwien.ac.at/languages/c/programming-bbrown/cstart.htm

It's quite good and got me to learn a lot about C.

Then I echo the recommendation for Aaron Hillegass's Cocoa Programming  
and as an added recommendation -- grab the ADC doc "The Objective-C  
2.0 Programming Langauge" and print a copy (I recommend getting it  
spiral bound).  While learning it's a great reference to help refresh  
you when you get stuck.  If you go with the Spiral Bound version at  
Kinko's double sided it should run about $10 to $15.


-Joe Kavanagh
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Learning How to Program in Objective-C

2008-07-11 Thread mmalc Crawford


On Jul 11, 2008, at 6:54 AM, Jon Buys wrote:


The best thing I can recommend is to buy the Cocoa
Programming book by Hillegass:
http://www.amazon.com/exec/obidos/ASIN/0321503619/bignerdranch-20

If you have no programming experience, this is probably too advanced a  
starting point.

Start with Kochan's book (Programming in Objective-C):




mmalc

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


NSSpeechSynthesizer lifetime and garbage collected (GC) applications

2008-07-11 Thread Sean McBride
Hi all,

The following works just fine in non-GC apps when called in an IBAction
method:

NSSpeechSynthesizer* speechSynthesizer =
[[[NSSpeechSynthesizer alloc] init] autorelease];
[speechSynthesizer startSpeakingString:
@"Hello. I'm Macintosh. It sure is great to get out of that bag."];

In GC apps it crashes (non main thread):

#0  0x907586e8 in objc_msgSend ()
#1  0x952f6f23 in SpeechDoneProc ()
#2  0x1f00d979 in MTBEDoneTask::Execute ()
#3  0x1f018b01 in MTBEWorker::WorkLoop ()
#4  0x1f018b5d in MTBEWorkerStartMPTask ()
#5  0x91ec555b in PrivateMPEntryPoint ()
#6  0x96fa76f5 in _pthread_start ()
#7  0x96fa75b2 in thread_start ()

I'm guessing this is because the speechSynthesizer is collected before
it finishes speaking.  Is this 'correct behaviour' or a bug?  Needless
to say, the docs say nothing about special considerations for garbage
collection.  My speechSynthesizer has no delegate, and I don't care when
it starts or stops speaking.  Shouldn't that make it
NSSpeechSynthesizer's job to keep itself alive until it finishes
speaking?  Afterall, _I'm_ finished with the speechSynthesizer.

Thanks,

--

Sean McBride, B. Eng [EMAIL PROTECTED]
Rogue Researchwww.rogue-research.com
Mac Software Developer  Montréal, Québec, Canada


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Learning How to Program in Objective-C

2008-07-11 Thread Jason Coco
Also, if you do choose to get Hillegass's book, keep in mind that the  
current edition (3rd Edition) is for Xcode 3.x/Obj-C 2.0... so if  
you're sticking to 2.5, I suggest trying to find a copy of the 2nd  
edition somewhere. If you print out the Obj-C 2.0 reference as was  
suggested, note that it's only valid on Leopard... you will not have  
access to certain things like garbage collection, properties, etc.– 
which may be very confusing if you're just trying to learn from scratch.


/jason

On Jul 11, 2008, at 10:17 , mmalc Crawford wrote:



On Jul 11, 2008, at 6:54 AM, Jon Buys wrote:


The best thing I can recommend is to buy the Cocoa
Programming book by Hillegass:
http://www.amazon.com/exec/obidos/ASIN/0321503619/bignerdranch-20

If you have no programming experience, this is probably too advanced  
a starting point.

Start with Kochan's book (Programming in Objective-C):




mmalc

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/jason.coco 
%40gmail.com


This email sent to [EMAIL PROTECTED]




smime.p7s
Description: S/MIME cryptographic signature
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Re: Learning How to Program in Objective-C

2008-07-11 Thread mmalc crawford


On Jul 11, 2008, at 7:16 AM, Joe Kavanagh wrote:

Then I echo the recommendation for Aaron Hillegass's Cocoa  
Programming and as an added recommendation -- grab the ADC doc "The  
Objective-C 2.0 Programming Langauge" and print a copy (I recommend  
getting it spiral bound). While learning it's a great reference to  
help refresh you when you get stuck.


If you're still on Mac OS X 10.4, then the 2.0 version contains  
information that you will not be able to use.
If you don't have the original documentation on your system, then see  
instead the first version of the Guide (which combines the language  
guide and the introduction to OOP using Objective-C).



mmalc

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Learning How to Program in Objective-C

2008-07-11 Thread Dave DeLong
The BYU CocoaHeads group is actively collecting links to just about
every Cocoa related resource we can find.  We have several pages to
browse through:

http://cocoaheads.byu.edu/resources

Cheers,

Dave DeLong

On Fri, Jul 11, 2008 at 8:00 AM, Toporek, Chuck
<[EMAIL PROTECTED]> wrote:
> You might also look for a CocoaHeads group near you
> (http://www.cocoaheads.org), and start combing through blogs of other Mac
> developers (see http://www.cocoablogs.com/).
>
> Chuck
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Any good advice for naming parameters of init methods?

2008-07-11 Thread Kai


On 11.7.2008, at 04:59, William Xu wrote:


Jens Alfke <[EMAIL PROTECTED]> writes:

With any naming convention, the possible problem is a conflict with  
a name in a
superclass.  Apple's Cocoa frameworks tend to use a "_" prefix for  
both ivars

and private method names.


How about using "_" as postfix then? Like `this_one_'.  I find google
c++ guide suggests that:

 http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Variable_Names

Looks good to me.


The only disadvantage of this approach is that KVC’s direct access to  
your ivars_ will no longer work. KVC knows about the _ivar convention  
(because it is used by Apple ;-) ) and matches an _ivar to the key  
"ivar". It won’t for ivar_. But than again it is better anyway to have  
explicit accessors, I’d say.


Kai

PS and OT: _ivar is not (any more) considered portable C++ either  
because all names beginning with _ are reserved for compiler/library  
use by the standard.





--
William

http://williamxu.net9.org

... I think I'd better go back to my DESK and toy with a few common
MISAPPREHENSIONS ...
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/kai%40granus.net

This email sent to [EMAIL PROTECTED]


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Trashing files and undo

2008-07-11 Thread Ruotger Skupin

Hi,

my app trashes files with -[NSWorkspace  
performFileOperation:source:destination:files:tag:] and  
NSWorkspaceRecycleOperation. This works flawlessly but users want undo.


NSWorkspace does not seem to allow undoing said file operation (or any  
file operation for that matter). Correct me if I'm wrong.


So I might have to figure out where the trash directory for a given  
volume/user/file etc is and move it myself. Is there an easy way to  
find that out?


Thanks for any pointers

Ruotger
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


RE: Trashing files and undo

2008-07-11 Thread Abernathy, Joshua
~/.Trash?

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
] On Behalf Of Ruotger Skupin
Sent: Friday, July 11, 2008 10:39 AM
To: Cocoa-dev@lists.apple.com
Subject: Trashing files and undo

Hi,

my app trashes files with -[NSWorkspace  
performFileOperation:source:destination:files:tag:] and  
NSWorkspaceRecycleOperation. This works flawlessly but users want undo.

NSWorkspace does not seem to allow undoing said file operation (or any  
file operation for that matter). Correct me if I'm wrong.

So I might have to figure out where the trash directory for a given  
volume/user/file etc is and move it myself. Is there an easy way to  
find that out?

Thanks for any pointers

Ruotger
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/jabernathy%40burrislogi
stics.com

This email sent to [EMAIL PROTECTED]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Trashing files and undo

2008-07-11 Thread Michael Watson
Note that if a file is on a secondary volume, and you move the file to  
the Trash, it doesn't get moved to ~/.Trash; you'll find it in  
the .Trashes directory on the root of the volume on which it resides.



--
m-s

On 11 Jul, 2008, at 10:42, Abernathy, Joshua wrote:


~/.Trash?

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
] On Behalf Of Ruotger Skupin
Sent: Friday, July 11, 2008 10:39 AM
To: Cocoa-dev@lists.apple.com
Subject: Trashing files and undo

Hi,

my app trashes files with -[NSWorkspace
performFileOperation:source:destination:files:tag:] and
NSWorkspaceRecycleOperation. This works flawlessly but users want  
undo.


NSWorkspace does not seem to allow undoing said file operation (or any
file operation for that matter). Correct me if I'm wrong.

So I might have to figure out where the trash directory for a given
volume/user/file etc is and move it myself. Is there an easy way to
find that out?

Thanks for any pointers

Ruotger
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/jabernathy%40burrislogi
stics.com

This email sent to [EMAIL PROTECTED]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/mikey-san 
%40bungie.org


This email sent to [EMAIL PROTECTED]


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Setting DPI of image data

2008-07-11 Thread Graham Cox

Thanks, that was the step I'd missed (sort of obvious in hindsight!).

Thanks also to Marcel who pointed out the same thing.

Graham


On 11 Jul 2008, at 7:13 pm, Heinrich Giesen wrote:



If you create image data of Type jpeg, tiff, png, etc from a sourceRep
(NSBitMapImageRep) with -representationUsingType:properties: these  
data

contain the number of pixels *and* the resolution of the sourceRep.
If you want a special resolution you have to set that value in the
sourceRep. But you can't set the resolution directly in  
NSBitMapImageRep

with something like -setResolutionX:resolutionY: You have to set the
size of the rep!

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Learning How to Program in Objective-C

2008-07-11 Thread Toporek, Chuck
Thanks, mmalc,

It's worth noting that Kochan is updating his book to cover Objective-C 2.0.
>From what I'm told, that book should come out in October, and the first bits
should be available in Rough Cuts early- to mid-August (see
http://safari.informit.com/roughcuts).

Also, Fritz Anderson has completely revised his Xcode book, now titled
"Xcode 3 Unleashed" (http://tinyurl.com/5ucskj). Fritz's book is available
in Rough Cuts now, so you can purchase access to the book online and have
the option to get the printed copy once that is available later this month.

Also in Rough Cuts is about half of "Cocoa Design Patterns," by Erik M.
Buck. That book is due out later this year.

And if Apple ever lifts the NDA on the iPhone SDK, we'll soon post to Rough
Cuts all of Erica Sadun's "The iPhone Developer's Cookbook," which is ready
and rearin' to go.

HTH,

Chuck


On 7/11/08 10:17 AM, "mmalc Crawford" <[EMAIL PROTECTED]> wrote:

> 
> On Jul 11, 2008, at 6:54 AM, Jon Buys wrote:
> 
>> The best thing I can recommend is to buy the Cocoa
>> Programming book by Hillegass:
>> http://www.amazon.com/exec/obidos/ASIN/0321503619/bignerdranch-20
>> 
> If you have no programming experience, this is probably too advanced a
> starting point.
> Start with Kochan's book (Programming in Objective-C):
> 
>  672325861/ref=sr_1_1?ie=UTF8&s=books&qid=1215785694&sr=8-1
>> 
> 
> mmalc
> 
> ___
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/chuck.toporek%40pearson.com
> 
> This email sent to [EMAIL PROTECTED]

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Learning How to Program in Objective-C

2008-07-11 Thread Sherm Pendley
On Fri, Jul 11, 2008 at 10:16 AM, Joe Kavanagh <[EMAIL PROTECTED]> wrote:
>
> grab the ADC doc "The Objective-C 2.0
> Programming Langauge" and print a copy (I recommend getting it spiral
> bound).  While learning it's a great reference to help refresh you when you
> get stuck.

It may also confuse someone who's learning to program on 10.4 and
Xcode 2.5. I would advise against using the web-based docs in such a
situation - the ones that are included with Xcode are more directly
relevant to the version he's using, and won't have any distractions
that only apply to 10.5 & Xcode 3.

sherm--

-- 
Cocoa programming in Perl: http://camelbones.sourceforge.net
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


#define and #ifdef statements for different build configs

2008-07-11 Thread Carter R. Harrison
I have an app that uses different frameworks and method calls based  
upon the currently selected build configuration.


How can I easily setup an #ifdef statement that will only execute if  
I've chosen the "Release" build configuraiton?


Thanks in advance.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


starting external program at runtime

2008-07-11 Thread Daniel Richman

Hi All,

I want to start an application (it's bundled with my main app) in a 
specific case. It was previously installed to a known location (it's a 
helper app, so I put it in ~/Library/Application Support -- was that the 
right thing to do?), so is there any class I can call upon, or is the 
best thing just a system() call?


Daniel
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


RE: starting external program at runtime

2008-07-11 Thread Abernathy, Joshua
NSWorkspace can launch applications for you. Check out
http://theocacao.com/document.page/183 and
http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/
Classes/NSWorkspace_Class/Reference/Reference.html.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
] On Behalf Of Daniel Richman
Sent: Friday, July 11, 2008 11:15 AM
To: Cocoa-dev List
Subject: starting external program at runtime

Hi All,

I want to start an application (it's bundled with my main app) in a 
specific case. It was previously installed to a known location (it's a 
helper app, so I put it in ~/Library/Application Support -- was that the

right thing to do?), so is there any class I can call upon, or is the 
best thing just a system() call?

Daniel
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/jabernathy%40burrislogi
stics.com

This email sent to [EMAIL PROTECTED]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: starting external program at runtime

2008-07-11 Thread Jason Coco
If your helper application is a console app, however, you should keep  
it with your main application bundle and use NSTask to run it and  
interact with it. (By console app I simply mean something that doesn't  
interact directly with the user).


On Jul 11, 2008, at 11:19 , Abernathy, Joshua wrote:


NSWorkspace can launch applications for you. Check out
http://theocacao.com/document.page/183 and
http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/
Classes/NSWorkspace_Class/Reference/Reference.html.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
] On Behalf Of Daniel Richman
Sent: Friday, July 11, 2008 11:15 AM
To: Cocoa-dev List
Subject: starting external program at runtime

Hi All,

I want to start an application (it's bundled with my main app) in a
specific case. It was previously installed to a known location (it's a
helper app, so I put it in ~/Library/Application Support -- was that  
the


right thing to do?), so is there any class I can call upon, or is the
best thing just a system() call?

Daniel
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/jabernathy%40burrislogi
stics.com

This email sent to [EMAIL PROTECTED]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/jason.coco 
%40gmail.com


This email sent to [EMAIL PROTECTED]




smime.p7s
Description: S/MIME cryptographic signature
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Is there any way to show disclosure button always closed

2008-07-11 Thread Aman Alam
I am working on a project that needs the disclosure button of NSOutlineView 
always closed whether its row are expanded or not.


Does anyone know that how to do that?
Please tell me. 


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: #define and #ifdef statements for different build configs

2008-07-11 Thread Sherm Pendley
On Fri, Jul 11, 2008 at 11:01 AM, Carter R. Harrison
<[EMAIL PROTECTED]> wrote:
> I have an app that uses different frameworks and method calls based upon the
> currently selected build configuration.
>
> How can I easily setup an #ifdef statement that will only execute if I've
> chosen the "Release" build configuraiton?

"Get Info" on your target, choose the "Release" configuration, and add
a macro to the "Preprocessor Macros" setting.

sherm--

-- 
Cocoa programming in Perl: http://camelbones.sourceforge.net
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


RE: #define and #ifdef statements for different build configs

2008-07-11 Thread Andy Klepack
What I've always done is to have that block in code like

#ifdef RELEASE
{ ... code ... }
#endif

and then, in the build configuration of either the project or target, I select 
the Release configuration and add the pre processor macro "RELEASE". I forget 
the setting name exactley, but it's along the lines of "other preprocessor 
macros" but it's pretty easy to find.

There may well be a better way to do this, but this approach has worked fine so 
far.
-Andy

From: [EMAIL PROTECTED] [EMAIL PROTECTED] On Behalf Of Carter R. Harrison 
[EMAIL PROTECTED]
Sent: Friday, July 11, 2008 8:01 AM
To: cocoa-dev list
Subject: #define and #ifdef statements for different build configs

I have an app that uses different frameworks and method calls based
upon the currently selected build configuration.

How can I easily setup an #ifdef statement that will only execute if
I've chosen the "Release" build configuraiton?

Thanks in advance.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/andy.klepack%40microsoft.com

This email sent to [EMAIL PROTECTED]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Trashing files and undo

2008-07-11 Thread Gregory Weston

Ruotger Skupin wrote:


my app trashes files with -[NSWorkspace
performFileOperation:source:destination:files:tag:] and
NSWorkspaceRecycleOperation. This works flawlessly but users want  
undo.


NSWorkspace does not seem to allow undoing said file operation (or any
file operation for that matter). Correct me if I'm wrong.

So I might have to figure out where the trash directory for a given
volume/user/file etc is and move it myself. Is there an easy way to
find that out?


Drop-dead simple. FSFindFolder is your friend. Give it a volume  
reference number and tell it you're looking for the user's trash and  
it'll hand it back to you (creating it if necessary and you asked for  
that behavior).


I think possibly a bigger issue here is going to be that moving files  
to the trash can cause them to be renamed. At least doing so in  
Finder can; I'm not sure if the NSWorkspace routine does the same.  
You'll need a reliable way to track the file and map that back to the  
original location and name. You'll want to look at aliases for that.

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Trashing files and undo

2008-07-11 Thread glenn andreas


On Jul 11, 2008, at 10:44 AM, Gregory Weston wrote:


Ruotger Skupin wrote:


my app trashes files with -[NSWorkspace
performFileOperation:source:destination:files:tag:] and
NSWorkspaceRecycleOperation. This works flawlessly but users want  
undo.


NSWorkspace does not seem to allow undoing said file operation (or  
any

file operation for that matter). Correct me if I'm wrong.

So I might have to figure out where the trash directory for a given
volume/user/file etc is and move it myself. Is there an easy way to
find that out?


Drop-dead simple. FSFindFolder is your friend. Give it a volume  
reference number and tell it you're looking for the user's trash and  
it'll hand it back to you (creating it if necessary and you asked  
for that behavior).


I think possibly a bigger issue here is going to be that moving  
files to the trash can cause them to be renamed. At least doing so  
in Finder can; I'm not sure if the NSWorkspace routine does the  
same. You'll need a reliable way to track the file and map that back  
to the original location and name. You'll want to look at aliases  
for that.


If you use aliases (and due to the renaming issues, you really  
should), you won't need to worry about where the trash is located,  
since you'd just resolve where the file currently is (which just  
happens to be the correct trash folder for that volume/user).


Glenn Andreas  [EMAIL PROTECTED]
  wicked fun!
JSKit | the easy way to unite JavaScript and Objective C



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Trashing files and undo

2008-07-11 Thread Charles Srstka

On Jul 11, 2008, at 10:44 AM, Gregory Weston wrote:

Drop-dead simple. FSFindFolder is your friend. Give it a volume  
reference number and tell it you're looking for the user's trash and  
it'll hand it back to you (creating it if necessary and you asked  
for that behavior).


I think possibly a bigger issue here is going to be that moving  
files to the trash can cause them to be renamed. At least doing so  
in Finder can; I'm not sure if the NSWorkspace routine does the  
same. You'll need a reliable way to track the file and map that back  
to the original location and name. You'll want to look at aliases  
for that.


You can just use an FSRef, which will track the file even after it's  
been moved. You have to use a little Carbon for this, but it's not  
bad. Just use either FSPathMakeRef() or CFURLGetFSRef() to make the  
FSRef before you move the file to the trash, and then use  
FSRefMakePath() or CFURLCreateFromFSRef() to get the new path to the  
file after you've trashed it.


An added benefit to this is that even if Apple ends up moving ~/.Trash  
to some other location in a future version of OS X, this will still  
work (as long as FSRefs still work on whatever new file system we get  
moved to).


Charles
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Trashing files and undo

2008-07-11 Thread Sean McBride
On 7/11/08 10:49 AM, glenn andreas said:

>
>On Jul 11, 2008, at 10:44 AM, Gregory Weston wrote:
>
>> Ruotger Skupin wrote:
>>
>>> my app trashes files with -[NSWorkspace
>>> performFileOperation:source:destination:files:tag:] and
>>> NSWorkspaceRecycleOperation. This works flawlessly but users want
>>> undo.
>>>
>>> NSWorkspace does not seem to allow undoing said file operation (or
>>> any
>>> file operation for that matter). Correct me if I'm wrong.
>>>
>>> So I might have to figure out where the trash directory for a given
>>> volume/user/file etc is and move it myself. Is there an easy way to
>>> find that out?
>>
>> Drop-dead simple. FSFindFolder is your friend. Give it a volume
>> reference number and tell it you're looking for the user's trash and
>> it'll hand it back to you (creating it if necessary and you asked
>> for that behavior).
>>
>> I think possibly a bigger issue here is going to be that moving
>> files to the trash can cause them to be renamed. At least doing so
>> in Finder can; I'm not sure if the NSWorkspace routine does the
>> same. You'll need a reliable way to track the file and map that back
>> to the original location and name. You'll want to look at aliases
>> for that.
>
>If you use aliases (and due to the renaming issues, you really
>should), you won't need to worry about where the trash is located,
>since you'd just resolve where the file currently is (which just
>happens to be the correct trash folder for that volume/user).

Unless of course between trashing the file and trying to undo the
trashing, a file of the same name as the trashed item is put in its old
location.  1) that would cause the wrong alias resolution (since aliases
resolve by path first) and 2) it would make restoring the trashed file tricky.

I think it is very hard to get all the edge cases.  Maybe if you script
the finder to trash the file, then the finder's undo would be available.

--

Sean McBride, B. Eng [EMAIL PROTECTED]
Rogue Researchwww.rogue-research.com
Mac Software Developer  Montréal, Québec, Canada


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: NSOutlineView hiding a column while editing a row in another column

2008-07-11 Thread Corbin Dunn


On Jul 10, 2008, at 4:17 PM, Joan Lluch (casa) wrote:

I have a NSOutlineView which I want to make several columns hidden  
in response to a user action. I have set up the outlineColumn to  
resize with table and the rest have fixed size, so that when one or  
more columns are hidden, the outlineColumn widens  accordingly. In  
normal conditions everything goes as expected.


However, if the user is editing a row of the outlineColumn and then  
decides to hide a different column, the focus ring of the resized  
outlineColumn is not changed and the result is a mess of several  
columns in that row.


Please log a bug on that; it is a case I hadn't thought of, and  
something I need to fix.





I just need a way to tell the outlineView that update the size of  
the cell being edited (and its focus ring), or simply a way to  
programatically commit and accept the user changes on the cell. I  
can not use commitEditing because the outlineView is not bound to  
any controller, and I use the data source methods instead.




Just make the window or the tableview the first responder, ie:  
[tableView.window makeFirstResponder:tableView.window]; that will  
commit editing (well, it will commit it if the textfield really gave  
up first responder status).


corbin
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: garbage collection and NSConnection

2008-07-11 Thread Michael Ash
On Fri, Jul 11, 2008 at 3:21 AM, Marcel Weiher <[EMAIL PROTECTED]> wrote:
>> [not referring to scanning overhead]
>>
>> - Temporary objects get a 'release' at the end of their life, and
>> usually an 'autorelease' at the beginning.
>
> The cost of a single refcounting op is negligible compared to the cost of
> object allocation, so these two are quite irrelevant.

A quick test of this claim would appear to disprove it. On my Mac Pro,
an alloc/init/release cycle of NSObject costs about 290ns. Adding an
extra pair of retain/release costs about 480ns. I'm not sure how I can
reasonably measure the object allocation by itself, or the cost of
just retain or just release. But it seems clear that these refcounting
operations are quite significant in cost.

>>> Yes, just like objects don't get retained when they are stored in local
>>> variables, that happens when you store them into instance variables.
>>
>> They do get released though, which is a refcount operation that
>> doesn't happen in the GC world.
>
> Once again, the -release is completely negligible compared to the actual
> deallocation.

Apparently not!

>>> Taking into account the programming style a language supports is about as
>>> far from a micro-optimization as you can get.  It is an architectural
>>> concern that informs how you structure your system, changing it
>>> after-the-fact often turns out to be impossible.  At least that's been my
>>> experience over the last 20 years or so, YMMV.
>>
>> I'm not sure I understand what you're saying here. My point is that
>> ObjC makes it very easy and natural to create temporary objects
>> without worrying about their lifetimes.
>
> That is exactly my point:  this is one case where the comparative ease is
> deceptive, as creating lots of temporary objects is not something that
> Objective-C supports well.  Objective-C is a *hybrid* OO language, not a
> pure OO language.

This disagrees completely with my experience. ObjC supports creating
lots of temporary objects very well. It may not be as *fast* at it as
some languages, but as you say, speed is not a concern in 90% of the
cases. Typical ObjC code creates a great deal of temporary objects,
and this usually works just fine.

>> In my experience, code which goes to great lengths to avoid autoreleased
>> objects is messy and much
>> more bug prone than the "normal" way.
>
> Yes, if it is autoreleasing you avoid, not object creation in the first
> place.  The extra autorelease only costs you maybe 30%, the extra object
> allocation costs you an order of magnitude or more.  So for example, my
> standard pattern for initialization is something like this:
>
> -init {
>self=[super init];
>[self setFoo:[Bar bar]];
>return self;
> }

I don't understand what you're trying to show with this example,
unless it's the fact that you don't avoid autorelease. But then this
directly contradicts what you said before: "Also:  don't gratuitously
create and/or autorelease objects if you don't have to." So I'm
confused.

>> Thus, yes, you can avoid many
>> autoreleased objects if you want, but this is a painful micro
>> optimization, not the standard way to do things.
>
> Once again, avoiding temporary object-creation is not a micro-optimization,

It certainly is. You're improving the constant in your running time,
not improving the asymptotic algorithmic performance. That's a micro
optimization in my book.

> and creating lots of temporary objects is definitely NOT the standard way to
> do things in Objective-C.

It certainly has been in all of the ObjC code I've ever created or
worked with, and most of what I've looked at.

>>> You might have heard about the 80/20 rule, which is actually more a 90/10
>>> or
>>> 95/05 rule:  most of the execution time is spent in a very small portion
>>> of
>>> your code.  Being able to go in and *really* optimize those hotspots
>>> actually gives you the most bang for the buck.  The "typical usage",
>>> meaning
>>> the bulk of the program, generally does not matter.
>>
>> I did my master's thesis on high performance code and optimization; I
>> am more than vaguely familiar with these concepts.
>
> Glad to hear that!  However, in the sections above you were continually
> treating ops that differ in cost by an order of magnitude or more with equal
> weight, which makes me somewhat dubious of your claimed credentials...

Where did I ever treat anything with equal weight? I don't recall ever
stating or even implying that two different operations were
necessarily equally significant.

>> My point is merely that GC can help you without you needing to change your
>> code in any
>> way. This, to me, is more valuable than peppering my code with lots of
>> painful manual memory management to make it go faster.
>
> ...as does this.  Once again:  this is not about randomly "peppering" code
> with "lots of painful manual memory management", this is about (a) adopting
> a coding style that is clean, (b) flows with what Objective-C p

Re: Trashing files and undo

2008-07-11 Thread Charles Srstka

On Jul 11, 2008, at 10:54 AM, Sean McBride wrote:


Unless of course between trashing the file and trying to undo the
trashing, a file of the same name as the trashed item is put in its  
old
location.  1) that would cause the wrong alias resolution (since  
aliases
resolve by path first) and 2) it would make restoring the trashed  
file tricky.


I think it is very hard to get all the edge cases.  Maybe if you  
script
the finder to trash the file, then the finder's undo would be  
available.


With aliases, there's a kResolveAliasTryFileIDFirst constant that will  
avoid this situation, although if you just use FSRefs, I don't think  
they keep track of the path at all, so that should always track the  
same file node no matter what.


At any rate, if you do the resolution immediately after performing the  
trash operation, this should prevent this situation from happening in  
the first place.


Charles
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


KVO notifications and threads

2008-07-11 Thread Jerry Isdale
I have an application whose data model (classes, shared Instances,  
etc) gets updated by various threads for calculations, network comms,  
etc.
Some of the application's Views use binding and KVO.  For example an  
NSTextField may get bound to SharedInstance.currentLattitude


It the property gets updated using KVO compliant code, on what thread  
is the NSTextField updated?


Possible answers include:
* thread that invokes the set method
* MainThread - because all UI updates should happen there.

Perhaps the KVO means that the View gets marked as needing an update  
in next update cycle, and thus we have a combination of these two  
answers:

* invoking thread marks the View for update
* MainThread does the update in its next graphics update cycle

Jerry Isdale
[EMAIL PROTECTED]



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


CFBundleIdentifier & Application Version

2008-07-11 Thread Eric Gorr

Reading things like,

http://developer.apple.com/qa/qa2004/qa1373.html

which discuss CFBundleIdentifier, the example always given for what it  
should look like is of the form:


  com.mycompany.MyApp


My question is, as different versions, of the same application, are  
released, it is a good idea or recommended that the CFBundleIdentifier  
reflect the version of the application as well. For example, one might  
have:


com.mycompany.MyApp2007
com.mycompany.MyApp2008
com.mycompany.MyApp2009

If it is not a good idea or not recommended, why?

The tech note above does say:

Note: Most Xcode templates give a generic default value for  
CFBundleIdentifier to try to avoid as many problems as possible. It is  
still important to set your own unique value, however, as applications  
with identical CFBundleIdentifier values will override each other.



While it is obviously important that two different applications (say a  
word processor and a game) have unique identifiers, it isn't clear to  
me that different versions of the same application should have a  
unique identifier as there are other items in a plist for declaring  
the version of the application.



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


RE: CFBundleIdentifier & Application Version

2008-07-11 Thread Gary L. Wade
It's really up to you and the kinds of changes that you expect to happen 
between each version.  Having a single ID allows preferences to be mixed and 
matched if different versions of the product are used, but if you want to 
support the simultaneous use of last year's version and this year's version, or 
a pro and lite version, then that can get in the way.

If you want to read last year's version's preferences and then copy those over 
into this year's version's preferences upon install/startup, then that could be 
a solution.

If you want to, you can name this year's version's ID:

com.mycompany.MyApp.2008

to distinguish it from last year's:

com.mycompany.MyApp

>Reading things like,
>
>http://developer.apple.com/qa/qa2004/qa1373.html
>
>which discuss CFBundleIdentifier, the example always given for what it  
>should look like is of the form:
>
>   com.mycompany.MyApp
>
>
>My question is, as different versions, of the same application, are  
>released, it is a good idea or recommended that the CFBundleIdentifier  
>reflect the version of the application as well. For example, one might  
>have:
>
>com.mycompany.MyApp2007
>com.mycompany.MyApp2008
>com.mycompany.MyApp2009
>
>If it is not a good idea or not recommended, why?
>
>The tech note above does say:
>
>Note: Most Xcode templates give a generic default value for  
>CFBundleIdentifier to try to avoid as many problems as possible. It is  
>still important to set your own unique value, however, as applications  
>with identical CFBundleIdentifier values will override each other.
>
>
>While it is obviously important that two different applications (say a  
>word processor and a game) have unique identifiers, it isn't clear to  
>me that different versions of the same application should have a  
>unique identifier as there are other items in a plist for declaring  
>the version of the application.
>
>
>___
>
>Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
>Please do not post admin requests or moderator comments to the list.
>Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
>Help/Unsubscribe/Update your Subscription:
>http://lists.apple.com/mailman/options/cocoa-dev/garywade%40desisoftsystems.com
>
>
>This email sent to [EMAIL PROTECTED]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: CFBundleIdentifier & Application Version

2008-07-11 Thread Douglas Davidson


On Jul 11, 2008, at 9:40 AM, Eric Gorr wrote:

My question is, as different versions, of the same application, are  
released, it is a good idea or recommended that the  
CFBundleIdentifier reflect the version of the application as well.  
For example, one might have:


com.mycompany.MyApp2007
com.mycompany.MyApp2008
com.mycompany.MyApp2009

If it is not a good idea or not recommended, why?


In most cases I would expect that one would change the CFBundleVersion  
and other version-related items in the Info.plist rather than the  
bundle identifier.  There might be cases in which one would want to  
change the bundle identifier, though--perhaps for a sweeping, clean- 
break change in the app.  Remember that preferences and the like are  
keyed off of the bundle identifier, so changing it would give you some  
work to do in migrating older settings.


Douglas Davidson

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Trashing files and undo

2008-07-11 Thread Gregory Weston


On Jul 11, 2008, at 11:49 AM, glenn andreas wrote:



On Jul 11, 2008, at 10:44 AM, Gregory Weston wrote:


Ruotger Skupin wrote:


my app trashes files with -[NSWorkspace
performFileOperation:source:destination:files:tag:] and
NSWorkspaceRecycleOperation. This works flawlessly but users want  
undo.


NSWorkspace does not seem to allow undoing said file operation  
(or any

file operation for that matter). Correct me if I'm wrong.

So I might have to figure out where the trash directory for a given
volume/user/file etc is and move it myself. Is there an easy way to
find that out?


Drop-dead simple. FSFindFolder is your friend. Give it a volume  
reference number and tell it you're looking for the user's trash  
and it'll hand it back to you (creating it if necessary and you  
asked for that behavior).


I think possibly a bigger issue here is going to be that moving  
files to the trash can cause them to be renamed. At least doing so  
in Finder can; I'm not sure if the NSWorkspace routine does the  
same. You'll need a reliable way to track the file and map that  
back to the original location and name. You'll want to look at  
aliases for that.


If you use aliases (and due to the renaming issues, you really  
should), you won't need to worry about where the trash is located,  
since you'd just resolve where the file currently is (which just  
happens to be the correct trash folder for that volume/user).


An excellent point. I think I had somehow got it in my head that the  
OP might want to handle the move *to* the trash as well, but I have  
no justification for that belief. Just the excuse that I'm operating  
on 2 hours' sleep for the 3rd day this week.

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Mini Popup Window (Like iCal)

2008-07-11 Thread Jonathan Dann


On 10 Jul 2008, at 19:33, Seth Willits wrote:



Has anyone created a custom window like the event info editor in  
iCal in 10.5? There's a few things I'm not sure how to do:


1) Drawing the window background gradient is pretty straightforward,  
but creating the thin border on the window is not. I'm concerned  
about not being getting it "thin" enough. Any tips on that?


2) The zoom-in effect. I'm going to go out on a limb here and say  
that this is probably done using private methods. The only public  
way I can think of to do it would be to grab an image of my window  
using the CGWindow API while the window is still hidden, then scale  
that in an overlay window for the effect.



I can come up with solutions for both of these, but I was hoping  
someone might have some better ideas or experience.



I'm working on one at the moment.  This may help you on your way

http://developer.apple.com/samplecode/RoundTransparentWindow/index.html

just draw whatever you want in -drawRect:, like a rounded rect or  
something.


The arrow is harder.  There's a window with an arrow on Matt Gemmell's  
site http://mattgemmell.com/ but that uses an NSColor with a pattern  
image to fill the window background and that seems mess up with core  
animation, which can't cache the drawn window prior to animation.


HTH

Jon

smime.p7s
Description: S/MIME cryptographic signature
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Re: CFBundleIdentifier & Application Version

2008-07-11 Thread Clark Cox
On Fri, Jul 11, 2008 at 9:40 AM, Eric Gorr <[EMAIL PROTECTED]> wrote:
> Reading things like,
>
> http://developer.apple.com/qa/qa2004/qa1373.html
>
> which discuss CFBundleIdentifier, the example always given for what it
> should look like is of the form:
>
>  com.mycompany.MyApp
>
>
> My question is, as different versions, of the same application, are
> released, it is a good idea or recommended that the CFBundleIdentifier
> reflect the version of the application as well. For example, one might have:
>
> com.mycompany.MyApp2007
> com.mycompany.MyApp2008
> com.mycompany.MyApp2009
>
> If it is not a good idea or not recommended, why?

That's not really a good idea. Many facilities identify applications
by bundle ID. If your new app is truly an new version of the old app,
then the bundle ID shouldn't change.

Use the other Info.plist keys to identify the version of your
application (such as CFBundleVersion).

-- 
Clark S. Cox III
[EMAIL PROTECTED]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: NSSpeechSynthesizer lifetime and garbage collected (GC) applications

2008-07-11 Thread Clark Cox
On Fri, Jul 11, 2008 at 7:20 AM, Sean McBride <[EMAIL PROTECTED]> wrote:
> Hi all,
>
> The following works just fine in non-GC apps when called in an IBAction
> method:
>
>NSSpeechSynthesizer* speechSynthesizer =
>[[[NSSpeechSynthesizer alloc] init] autorelease];
>[speechSynthesizer startSpeakingString:
>@"Hello. I'm Macintosh. It sure is great to get out of that bag."];
>
> In GC apps it crashes (non main thread):
>
> #0  0x907586e8 in objc_msgSend ()
> #1  0x952f6f23 in SpeechDoneProc ()
> #2  0x1f00d979 in MTBEDoneTask::Execute ()
> #3  0x1f018b01 in MTBEWorker::WorkLoop ()
> #4  0x1f018b5d in MTBEWorkerStartMPTask ()
> #5  0x91ec555b in PrivateMPEntryPoint ()
> #6  0x96fa76f5 in _pthread_start ()
> #7  0x96fa75b2 in thread_start ()
>
> I'm guessing this is because the speechSynthesizer is collected before
> it finishes speaking.  Is this 'correct behaviour' or a bug?  Needless
> to say, the docs say nothing about special considerations for garbage
> collection.  My speechSynthesizer has no delegate, and I don't care when
> it starts or stops speaking.  Shouldn't that make it
> NSSpeechSynthesizer's job to keep itself alive until it finishes
> speaking?  Afterall, _I'm_ finished with the speechSynthesizer.

If I were you, I'd file a Bug.


-- 
Clark S. Cox III
[EMAIL PROTECTED]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Quick look preview multipage rich text

2008-07-11 Thread Philip Dow


That's right, I realized after posting the message that I should have  
boiled it down to the following:


+ (NSPrintOperation *)PDFOperationWithView:insideRect:toData:printInfo:
This operation produces a single page of PDF no matter what print  
settings I pass in, one very long page.


+ (NSPrintOperation *)printOperationWithView:printInfo:aPrintInfo
This operation when set to write the data to disk correctly produces a  
paginated document.


It's like the NSPrintOperation methods do not allow you to create a  
multi-page PDF in memory. You have to write it to disk first.


I did take a look at the output in both operations, and that's exactly  
what happens. The fist op gives you one long page of pdf, which is  
unreadable when scaled to fit inside the quicklook preview. The second  
op gives you what you expect.


I suppose I could use the second operation and then read back in the  
correctly paginated pdf, but then I'm writing out to the hard disk any  
time the user wants to quicklook my document. This seems like a  
terrible waste of resources.


--

In response to Jean-Daniel's suggestion. I can convert the RTFD to  
HTML, but then I need to go in and account for all of the rich text  
attachments, which doesn't sound like a simple task. I'd love to just  
create multi-page pdf data in memory and send that to quicklook.


~Phil

On Jul 9, 2008, at 2:54 PM, Julien Jalon wrote:

If I understand correctly your point, it seems that in the first  
case, you use the direct to data print operation and in the second  
case, you use the direct to file print operation then read back the  
file in memory and send it to Quick Look. Both methods use  
QLPreviewRequestSetDataRepresentation(). Am I right?


What do you mean when you say "does not display the content as  
multipage". What does it display?


You should try to dump on disk the data produced in the first case  
and take a look at it.


--
Julien

On Wed, Jul 9, 2008 at 4:40 AM, Philip Dow <[EMAIL PROTECTED]> wrote:
Hi all,

I am trying to generate multipage pdf data for display in a quick  
look preview from rich text attributed string data. Attributed  
strings don't know anything about pages, so it seems to me that I'll  
have to go through the OS printing architecture to generate the  
multipage pdf content.


Frustrating thing is, this works if I write the data to a file but  
not if I send it to quicklook. I can generate the pdf data with a  
custom print info specifying the page attributes, but quicklook does  
not display the content as multipage. If I use the same settings but  
a different print operation, writing the data to a temporary file  
instead, I get a correctly paginated document.


Code follows.

I understand that PDF content can be created with CGPDFContextCreate  
and the associated begin and end page calls, but the attributed  
string doesn't know about pages, so that seems like a dead end to  
me. If there's a method for doing it that way, I'm all for switching.


You might also suggest just sending RTF to Quick Look, but I'd like  
the text attachments to display. Converting it to html seems like  
even more work.


===

GenerateMultiPagePDFPreviewForURL(...)

NSAttributedString *attrString = ...;
NSTextView *textView = ... (filled with attrString);

NSMutableData *pdfData = [NSMutableData data];
NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];

[printInfo setPaperSize:NSMakeSize(612,792)];
[printInfo setHorizontalPagination: NSFitPagination];
[printInfo setVerticalPagination: NSAutoPagination];
[printInfo setVerticallyCentered:NO];

NSPrintOperation *po = [NSPrintOperation PDFOperationWithView:textView
   insideRect:[textView bounds]
   toData:pdfData
   printInfo:printInfo];

[po runOperation];
QLPreviewRequestSetDataRepresentation(preview, (CFDataRef)pdfData,  
kUTTypePDF, NULL);


===

Quicklook does not present a multipage preview with that code. But  
the following code writes a multipage document...


===

NSAttributedString *attrString = ...;
NSTextView *textView = ... (filled with attrString);

NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];
NSMutableDictionary *printInfoDict = [NSMutableDictionary  
dictionaryWithDictionary:[printInfo dictionary]];


[printInfoDict setObject:NSPrintSaveJob forKey:NSPrintJobDisposition];
[printInfoDict setObject:@"someLocation.pdf" forKey:NSPrintSavePath];

printInfo = [[NSPrintInfo alloc] initWithDictionary: printInfoDict];
[printInfo setHorizontalPagination: NSFitPagination];
[printInfo setVerticalPagination: NSAutoPagination];
[printInfo setVerticallyCentered:NO];

po  = [NSPrintOperation printOperationWithView:textView  
printInfo:printInfo];

[po setShowPanels:NO];
[po runOperation];

===

In the first case I'm using [NSPrintOperation  
PDFOperationWithView:insideRect:toData:printInfo:] and in the second  
[NSPrintOperation printOperationWithView: printInfo:]. Is the  
PDFOperationWithView method not capable of producing multipage pdf  
data despit

Re: Learning How to Program in Objective-C

2008-07-11 Thread Rob Ross
It has been my experience that it's much easier to learn programming  
in a  procedure language than an OO-language.  I don't think this  
will ever really change, since OO is an abstraction built on top of a  
procedural foundation, which is closer to how a CPU actually executes  
a software program.


So if you really have zero programming experience, I suggest you  
start with a language like Python. You can learn the basics about  
programming, and that language will even introduce you to OO  
concepts. But it's much simpler than starting with C or Objective-C.


I wish they still used Pascal in Universities for teaching  
programming. It's a great first language.


But anyway, Mac OS ships with support for Python so you have  
everything you need to get started. Type "python" in a terminal  
window, then type 2 + 2 when you see the  prompt.  
Congratulations, you've written your first program! (Ok, technically  
you've written an expression, but for these purposes it's a python  
program.)


More info:

http://docs.python.org/tut/

Python is not only a great first language, it's a great scripting  
language all on it own, so even if you later become a hard-core OO/ 
Objective-C programmer, you still might find  uses for it. And  
finally, there's a Cocoa-Python bridge, which means after you become  
more proficient with Python, you'll be able to use it to write Cocoa- 
apps. When you start doing that, you're probably ready to learn  
Objective-C.



Rob Ross, Lead Software Engineer
E! Networks

---
"Beware of he who would deny you access to information, for in his  
heart he dreams himself your master." -- Commissioner Pravin Lal




On Jul 11, 2008, at 6:30 AM, [EMAIL PROTECTED] wrote:


Hello forum,
This is my very first post and will get right to the point.
First, I have no programming experience at all.
I want to learn how to program using Xcode.
I'd like to do it at home self paced and I also understand that  
this is going to be a very long journey and I'm ready for it.


So, I ask you for suggestion/inputs and please don't hold back. If  
it's not possible I'll understand.


If it is possible, since I'm on 10.4.11, would the latest version  
of Xcode be 2.5to download?

And does it include everything I need?

Thank you all for reading
very much appreciated


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/rob.ross%40gmail.com

This email sent to [EMAIL PROTECTED]


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: garbage collection and NSConnection

2008-07-11 Thread Marcel Weiher


On Jul 11, 2008, at 8:59 , Michael Ash wrote:

The cost of a single refcounting op is negligible compared to the  
cost of

object allocation, so these two are quite irrelevant.


A quick test of this claim would appear to disprove it. On my Mac Pro,
an alloc/init/release cycle of NSObject costs about 290ns. Adding an
extra pair of retain/release costs about 480ns. I'm not sure how I can
reasonably measure the object allocation by itself, or the cost of
just retain or just release. But it seems clear that these refcounting
operations are quite significant in cost.


This is the extra refcount table in action, and why inline reference  
counts can be such a performance win on objects that are frequently  
retained and released.


Changing the object to an NSString (which has an internal reference  
count) yields the following results on my MacBook Pro:


retain+release NSString: time per iteration:  67 nanoseconds

Compare this with the times for NSObject, both retain/release and  
allocation / deallocation:


retain+release NSObject 2->3 / 3->2 : time per iteration:  223  
nanoseconds
retain+release NSObject 1->2 / 2->1 : time per iteration:  276  
nanoseconds

alloc+dealloc NSObject:  time per iteration:  415 nanoseconds

Cheers,

Marcel
[EOT for me]

[Differences of opinion and experience snipped]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: KVO notifications and threads

2008-07-11 Thread Ken Thomases

On Jul 11, 2008, at 11:30 AM, Jerry Isdale wrote:

I have an application whose data model (classes, shared Instances,  
etc) gets updated by various threads for calculations, network  
comms, etc.
Some of the application's Views use binding and KVO.  For example  
an NSTextField may get bound to SharedInstance.currentLattitude


It the property gets updated using KVO compliant code, on what  
thread is the NSTextField updated?


Possible answers include:
* thread that invokes the set method
* MainThread - because all UI updates should happen there.

Perhaps the KVO means that the View gets marked as needing an  
update in next update cycle, and thus we have a combination of  
these two answers:

* invoking thread marks the View for update
* MainThread does the update in its next graphics update cycle


The answer is: you're playing with fire and will be burned.  Bindings  
to the GUI don't play well with threading.


All KVO notifications are delivered on the thread where the property  
is changed ("thread that invokes the set method").  The controllers  
and views which are typically on the receiving end of those  
notifications are not thread-safe.  That is, if the main thread is  
working with the state of those objects and a background thread is  
manipulating that state in response to a KVO notification, the two  
won't play nicely together -- there's no attempt to synchronize.


You need the facade of your model to appear to be single threaded.   
If there's work going on in background threads, those threads should  
not directly manipulate state which can be queried from GUI  
bindings.  Instead, you can use performSelectorOnMainThread:... when  
a background thread has a transaction ready to commit to pass that  
transaction to the main thread for committing.


Cheers,
Ken
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: CFBundleIdentifier & Application Version

2008-07-11 Thread Eric Gorr

On Jul 11, 2008, at 1:01 PM, Douglas Davidson wrote:

Remember that preferences and the like are keyed off of the bundle  
identifier, so changing it would give you some work to do in  
migrating older settings.



I am focused on your phrase 'and the like'.

Other then preferences, what else is keyed off of the bundle identifier?

So, just to be clear, would you generally consider it to be the case  
that a unique bundle identifier is intended to identify a unique  
application and not different versions of the same application?


If this is true, then I could see how some feature of the OS (either  
now or in the future) would depend upon this being true - that a  
bundle identifier identifies a unique application. Is this a valid  
concern?



Thank you.


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Trashing files and undo

2008-07-11 Thread Ken Thomases

On Jul 11, 2008, at 11:11 AM, Charles Srstka wrote:

At any rate, if you do the resolution immediately after performing  
the trash operation, this should prevent this situation from  
happening in the first place.


I don't know if this ever happens in practice, but in theory  
performFileOperation:source:destination:files:tag: can do its work  
asynchronously.  You have to be sure it's complete before you attempt  
to resolve the file's new location.


Cheers,
Ken
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Completely cleaning the Launch Services Database & handler's

2008-07-11 Thread Eric Gorr
So, occasionally, I need to clean out my Launch Services Database.  
Most of the work can be done by executing:


lsregister -kill -r -domain local -domain system -domain user

However, this leaves behind information such as:

handler id:3160
extension: dtd
options:
all roles: com.barebones.bbedit (0xee80)

(i.e. I wand to load files with the .dtd extension with bbedit)

As reported by lsregister -dump.

Assuming they can, how can these custom handler's be cleaned out as  
well?


Thank you.



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: KVO notifications and threads

2008-07-11 Thread Clark Cox
On Fri, Jul 11, 2008 at 9:30 AM, Jerry Isdale <[EMAIL PROTECTED]> wrote:
> I have an application whose data model (classes, shared Instances, etc) gets
> updated by various threads for calculations, network comms, etc.
> Some of the application's Views use binding and KVO.  For example an
> NSTextField may get bound to SharedInstance.currentLattitude
>
> It the property gets updated using KVO compliant code, on what thread is the
> NSTextField updated?

On the same thread as the property was set (i.e. probably not what you
want, as most views and controllers need to do their work on the main
thread).


>
> Possible answers include:
> * thread that invokes the set method

This.

> * MainThread - because all UI updates should happen there.

Not This :)


Essentially, you will have to make sure that all properties that are
being observed by views and their controllers happen on the main
thread. A category such as the following has helped me in the past in
such situations (warning, typed up from memory in my mail window):

@implementation NSObject(CSCAdditions)

- (void)CSCSetValueForKeyImpl:(NSDictionary*)dict {
[self setValue: [dict objectForKey: @"value"] forKeyPath: [dict
objectForKey: @"key"]];
}

- (void)CSCSetValueForKeyPathImpl:(NSDictionary*)dict {
[self setValue: [dict objectForKey: @"value"] forKeyPath: [dict
objectForKey: @"keyPath"]];
}

- (void)setValuesOnMainThreadForKeysWithDictionary:(NSDictionary
*)dict waitUntilDone:(BOOL)wait {
[self performSelectorOnMainThread:
@selector(setValuesForKeysWithDictionary:) withObject: dict
waitUntilDone: wait]
}

- (void)setValueOnMainThread:(id)value forKey:(NSString *)key
waitUntilDone:(BOOL)wait {
NSParameterAssert(key != nil);

[self performSelectorOnMainThread: @selector(CSCSetValueForKeyImpl:)
   withObject: [NSDictionary
dictionaryWithObjectsAndKeys: keyPath, @"key", value, @"value", nil]
waitUntilDone: wait];
}

- (void)setValueOnMainThread:(id)value forKeyPath:(NSString *)keyPath
waitUntilDone:(BOOL)wait {
NSParameterAssert(keyPath != nil);

[self performSelectorOnMainThread: @selector(CSCSetValueForKeyPathImpl:)
   withObject: [NSDictionary
dictionaryWithObjectsAndKeys: keyPath, @"keyPath", value, @"value",
nil]
waitUntilDone: wait];
}

@end

Then, you just have to make sure that any modifications to properties
that happen on a background thread go through one of these three
"-set...onMainThread:..." methods.

-- 
Clark S. Cox III
[EMAIL PROTECTED]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: CFBundleIdentifier & Application Version

2008-07-11 Thread Douglas Davidson


On Jul 11, 2008, at 11:54 AM, Eric Gorr wrote:

Other then preferences, what else is keyed off of the bundle  
identifier?


So, just to be clear, would you generally consider it to be the case  
that a unique bundle identifier is intended to identify a unique  
application and not different versions of the same application?


Generally, that is the case.  For example, Launch Services has  
mechanisms to locate an app by bundle identifier, and I believe  
AppleScript now has a way to address an app by bundle identifier; in  
such cases, the bundle identifier is regarded as more stable than the  
application name, and in general the preferred way to locate a  
particular application.


Douglas Davidson

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


looking for some help

2008-07-11 Thread Gary Robertson
Hi everybody

I'm very new to programming the mac & looking for some help also

#1 I want to make the  " about my app " window larger
I cant seem to figure out where to do this

#2 if i wanted a document with a image in the center
basically a text document where the text would flow over an image.

Would I have to do a subclass of textView ?

Thanks

G-

-- 
Gary Robertson -- ACTC
[EMAIL PROTECTED]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: KVO notifications and threads

2008-07-11 Thread Jerry Isdale
So having mutiple CPUs and cores doesnt buy us much more than bragging  
rights, at least as far as KVO and UI goes. oh well.
I like Clark Cox's suggestion for wrapping the set methods in a  
category that forces the actual set to occur on the MainThread


note to Apple developers observing:
  it would be really nice to make the MVC and KVO play nicely with  
threads.


On Jul 11, 2008, at 11:50 AM, Ken Thomases wrote:


On Jul 11, 2008, at 11:30 AM, Jerry Isdale wrote:

I have an application whose data model (classes, shared Instances,  
etc) gets updated by various threads for calculations, network  
comms, etc.
Some of the application's Views use binding and KVO.  For example  
an NSTextField may get bound to SharedInstance.currentLattitude


It the property gets updated using KVO compliant code, on what  
thread is the NSTextField updated?


Possible answers include:
* thread that invokes the set method
* MainThread - because all UI updates should happen there.

Perhaps the KVO means that the View gets marked as needing an  
update in next update cycle, and thus we have a combination of  
these two answers:

* invoking thread marks the View for update
* MainThread does the update in its next graphics update cycle


The answer is: you're playing with fire and will be burned.   
Bindings to the GUI don't play well with threading.


All KVO notifications are delivered on the thread where the property  
is changed ("thread that invokes the set method").  The controllers  
and views which are typically on the receiving end of those  
notifications are not thread-safe.  That is, if the main thread is  
working with the state of those objects and a background thread is  
manipulating that state in response to a KVO notification, the two  
won't play nicely together -- there's no attempt to synchronize.


You need the facade of your model to appear to be single threaded.   
If there's work going on in background threads, those threads should  
not directly manipulate state which can be queried from GUI  
bindings.  Instead, you can use performSelectorOnMainThread:... when  
a background thread has a transaction ready to commit to pass that  
transaction to the main thread for committing.


Cheers,
Ken



Jerry Isdale
[EMAIL PROTECTED]



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: CFBundleIdentifier & Application Version

2008-07-11 Thread Eric Gorr

On Jul 11, 2008, at 12:58 PM, Gary L. Wade wrote:

It's really up to you and the kinds of changes that you expect to  
happen between each version.  Having a single ID allows preferences  
to be mixed and matched if different versions of the product are  
used, but if you want to support the simultaneous use of last year's  
version and this year's version, or a pro and lite version, then  
that can get in the way.



Assuming the CFPreferences API is being used, one can pass in a custom  
application id as a CFString. So, it would seem that if the behavior  
one wanted was to have a different preference file for a different  
version of an application, passing in an application id with version  
information appended to it would be the way to go - as opposed to  
declaring a unique custom identifier and using the  
kCFPreferencesCurrentApplication constant with the CFPreferences API.



Of course, using a custom application id would likely have the side  
effect that the OS would not be able to directly connect the  
preference file to the application (assuming the OS does or would ever  
make the attempt), but the code should work properly. But, perhaps  
this would work correctly if the bundle identifier was


  com.mycompany.myapp

and the custom application id passed into CFPreferences functions was:

  com.mycompany.myapp.2009





___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Problem with undo in a secondary nib file

2008-07-11 Thread Vishnumoorthi bhat
Hello list,

I have an application with two nib files. I have one text view each in both
the nibs.
The problem is, I can undo the text view in the Mainmenu.nib
but can't undo in the text view in the second nib.

What I'm missing here?

Any help would be greatly appreciated.

Thanks in advance,
Vish...
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: KVO notifications and threads

2008-07-11 Thread Bill Bumgarner

On Jul 11, 2008, at 12:22 PM, Jerry Isdale wrote:
So having mutiple CPUs and cores doesnt buy us much more than  
bragging rights, at least as far as KVO and UI goes. oh well.
I like Clark Cox's suggestion for wrapping the set methods in a  
category that forces the actual set to occur on the MainThread


note to Apple developers observing:
 it would be really nice to make the MVC and KVO play nicely with  
threads.


MVC and KVO play perfectly nicely with threads, when you follow the  
rules. ;)


You really wouldn't want your model layer generically and arbitrarily  
spamming the main even loop with change notifications anyway. Nor do  
you really want a "fully threadsafe" AppKit where any method can be  
invoked anywhere from anytime.


Sounds grand, but down that path lies the madness of unpredictability  
unresponsive applications and performance nightmares that are  
fantastically difficult to unravel.


Unfortunately, threading within an application is inherently tied to  
the business model -- the user experience -- of your application and,  
thus, threading your various operations and getting said changes over  
to the MEL are tasks that need to be designed for within your  
application.


Certainly, Cocoa can be made to better support multicore development.   
And effort has been and will continue to be expended upon on that  
front with each release of Mac OS X.


If you have specific enhancement requests, please file a bug via http://bugreporter.apple.com. 
   If your request is "make MVC and KVO play nicely with threads",  
you will need to provide details on exactly what you mean -- exactly  
how that is to be achieved.


b.bum

smime.p7s
Description: S/MIME cryptographic signature
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Re: garbage collection and NSConnection

2008-07-11 Thread Michael Ash
On Fri, Jul 11, 2008 at 2:17 PM, Marcel Weiher <[EMAIL PROTECTED]> wrote:
>
> On Jul 11, 2008, at 8:59 , Michael Ash wrote:
>
>>> The cost of a single refcounting op is negligible compared to the cost of
>>> object allocation, so these two are quite irrelevant.
>>
>> A quick test of this claim would appear to disprove it. On my Mac Pro,
>> an alloc/init/release cycle of NSObject costs about 290ns. Adding an
>> extra pair of retain/release costs about 480ns. I'm not sure how I can
>> reasonably measure the object allocation by itself, or the cost of
>> just retain or just release. But it seems clear that these refcounting
>> operations are quite significant in cost.
>
> This is the extra refcount table in action, and why inline reference counts
> can be such a performance win on objects that are frequently retained and
> released.
>
> Changing the object to an NSString (which has an internal reference count)
> yields the following results on my MacBook Pro:
>
> retain+release NSString: time per iteration:  67 nanoseconds
>
> Compare this with the times for NSObject, both retain/release and allocation
> / deallocation:
>
> retain+release NSObject 2->3 / 3->2 : time per iteration:  223 nanoseconds
> retain+release NSObject 1->2 / 2->1 : time per iteration:  276 nanoseconds
> alloc+dealloc NSObject:  time per iteration:  415 nanoseconds

Seems that NSString and NSMutableString are just faster at everything.
In all cases, the cost of an extra retain/release for them is still
roughly 50% of the cost of an alloc/init/retain. Here are my raw
numbers, times in nanoseconds:

NSObject alloc/init/release 284.3
NSObject alloc/init/retain/release/release  495.7
Extra time taken:   74%

NSString alloc/init/release 40.2
NSString alloc/init/retain/release/release  73.4
Extra time taken:   45%

NSMutableString alloc/init/release  194.7
NSMutableString alloc/init/retain/release/release   300.7
Extra time taken:   54%

I have no explanation as to why NSMutableString is so much slower at
everything. They both end up creating an instance of NSCFString, so
this is puzzling. But there you are.

Mike
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: looking for some help

2008-07-11 Thread I. Savant
> #1 I want to make the  " about my app " window larger
> I cant seem to figure out where to do this

  The about panel is a standard panel that can't be edited. There's an
old archived tutorial at cocoadevcentral.com that shows how to create
your own About panel (the "scrolling" panel, I believe) but it was
written for the old Project Builder (pre-Xcode era). The approach is
generally the same though.

> #2 if i wanted a document with a image in the center
> basically a text document where the text would flow over an image.
>
> Would I have to do a subclass of textView ?

  You'll want to read up on the Cocoa text system:

http://developer.apple.com/documentation/Cocoa/Conceptual/TextArchitecture/TextArchitecture.html

--
I.S.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Why can't I name a property `tag'?

2008-07-11 Thread an0
It is just simple as you said.
And it is cool just after I know what's on earthing happening there.
Thanks a lot.

On Fri, Jul 11, 2008 at 2:03 AM, Bill Bumgarner <[EMAIL PROTECTED]> wrote:
> On Jul 10, 2008, at 8:55 AM, an0 wrote:
>>
>> Sure.
>> I'm grateful that you tell me the internal truth instead of confusing
>> me even more by just saying it is my responsibility to tell compiler
>> more.
>> But if different return types cause different native code, how could
>> my program still work with the mistaken type(an NSString * returned
>> from the inner message is treated as an NSInteger at the first place,
>> then is passed as an NSString * to the outer message) guessed by
>> compiler?
>
> Whichever method the compiler sees first wins.
>
> While Objective-C is polymorphic, it does not support type based dispatch or
> type based method differentiation (like, say, Java).
>
> In Objective-C, the following doesn't make sense:
>
> - (NSInteger) tag;
> - (NSString *) tag;
>
> It won't compile if in the same class file and, as you have discovered,
> it'll cause no end of problems when the same method name -- the same
> selector -- has different argumentation across different classes in the
> class hierarchy.
>
> To put it more precisely:  Objective-C has a single, global, namespace for
> all methods.   Every method's name, every selector, is in a shared
> namespace.   The method's selector does not include any typing information
> and, thus, the type of the arguments and return value of the method are not
> used by the compiler to disambiguate invocations.
>
> As a result, the standard pattern is to *never* declare the same method name
> twice, but with different types of arguments or return values.
>
> For someone coming from C++ or Java, this may seem like a pretty nasty
> restriction.  It really isn't.  It is just different. And it has some very
> distinct advantages.   Two, in fact:
>
> - there is no name mangling
>
> - you don't have to figure out the types of the arguments to figure out
> which of N possible methods on your class, all named identically save for
> argumentation differences, were invoked
>
> I.e. it is dead simple.
>
> b.bum
>
>
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Quick look preview multipage rich text

2008-07-11 Thread Julien Jalon
On Fri, Jul 11, 2008 at 8:00 PM, Philip Dow <[EMAIL PROTECTED]> wrote:

>
> That's right, I realized after posting the message that I should have
> boiled it down to the following:
>
> + (NSPrintOperation *)PDFOperationWithView:insideRect:toData:printInfo:
> This operation produces a single page of PDF no matter what print settings
> I pass in, one very long page.
>
> + (NSPrintOperation *)printOperationWithView:printInfo:aPrintInfo
> This operation when set to write the data to disk correctly produces a
> paginated document.
>
> It's like the NSPrintOperation methods do not allow you to create a
> multi-page PDF in memory. You have to write it to disk first.
>
> I did take a look at the output in both operations, and that's exactly what
> happens. The fist op gives you one long page of pdf, which is unreadable
> when scaled to fit inside the quicklook preview. The second op gives you
> what you expect.
>
> I suppose I could use the second operation and then read back in the
> correctly paginated pdf, but then I'm writing out to the hard disk any time
> the user wants to quicklook my document. This seems like a terrible waste of
> resources.
>


Please, don't do that as your plug-in really should avoid doing anything but
reading stuff on disk. Maybe someone from the AppKit team will be able to
find the source of your problem.

-- 
Julien

>
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: delegation strategy

2008-07-11 Thread Wesley Smith
Hi Michael,
Thanks for the suggestion.  I think you're right.  I'll give it a shot.
best,
wes

On Thu, Jul 10, 2008 at 11:32 PM, Michael Ash <[EMAIL PROTECTED]> wrote:
> On Wed, Jul 9, 2008 at 11:19 AM, Wesley Smith <[EMAIL PROTECTED]> wrote:
>> Hi list,
>> I'm trying to provide a particular windowing interface that combines
>> NSWindow and NSPanel.  For the most part I'm using a custom subclass
>> of NSWindow that adds a decent amount of functionality.  Occasionally,
>> I want to make use of NSPanel (for the NSUtilityWindowMask style flag)
>> and I'd like it to behave exactly as my custom NSWindow subclass does.
>>  I'm sure there's a way to make this work via some form of
>> delegation/message passing so that I don't have to duplicate code and
>> can just have messages passed from the NSWindow and NSPanel objects to
>> my custom methods, but I'm not really sure how that kind of design
>> pattern plays out in Cocoa.  Any ideas? suggestions?
>
> Are you sure you really need an NSWindow subclass? It's pretty
> unusual, and when it is needed it's often for minor things like
> getting nib-archived windows to use a style mask that IB doesn't let
> you choose.
>
> If you can move your behaviors into a controller class, then it will
> be easy to make that controller class work with either an NSWindow or
> an NSPanel. Whether this is possible or easy will depend on exactly
> what you're doing, of course, but generally that's where this kind of
> thing belongs anyway.
>
> Mike
> ___
>
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/wesley.hoke%40gmail.com
>
> This email sent to [EMAIL PROTECTED]
>
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


any other type of value for the "fromValue" property of CAAnimation?

2008-07-11 Thread Cloud Strife
Hi everyone.After explore the Core Animation for a while, I found that the
"fromValue" property of CAAnimation was only set to NSNumber in many samples
and tutorials, although the Apple's document says it accepts the "id" value.

I am wondering whether I could set  this property to NSColor or CGColor
inorder to change the layer color dynamically. For example, If I want to
change a Green layer to a red one from time to time, could anyone give me a
guidance?

Thank you very much for any help.

-- 
Best regards.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Creating MetaPackages using PackageMaker 3 on 10.5

2008-07-11 Thread Alexander Hartner
I would like to make a meta package containing a standard pkg file,  
some configuration files which go into the users home directory as  
well as the system folder.


When I drag the pkg into Package Maker and install it, I end up  
getting a Content folder in the root of my system drive. It seems to  
expand the compressed pkg file and place it's content there.


I also would like to specify the current users home directory. I have  
seen the option to choose "Users home directory" however this seems to  
apply to the all "sub" packages included. I only want to specify one  
part of the install to go to the current users home folder. I also  
would like to grant the installing user permission on those files.  
Which user should I select in the Content tab.


thanks in advance for any feedback on this issue.

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Completely cleaning the Launch Services Database & handler's

2008-07-11 Thread Jeff Johnson

Eric,

This is not really a Cocoa question, but...

I've had success in the past by moving the /Library/Caches/ 
com.apple.LaunchServices csstore files to the trash and rebooting.


-Jeff


On Jul 11, 2008, at 2:13 PM, Eric Gorr wrote:

So, occasionally, I need to clean out my Launch Services Database.  
Most of the work can be done by executing:


lsregister -kill -r -domain local -domain system -domain user

However, this leaves behind information such as:

handler id:3160
extension: dtd
options:
all roles: com.barebones.bbedit (0xee80)

(i.e. I wand to load files with the .dtd extension with bbedit)

As reported by lsregister -dump.

Assuming they can, how can these custom handler's be cleaned out as  
well?


Thank you.


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: looking for some help

2008-07-11 Thread Jason Stephenson

Gary Robertson wrote:

I'm very new to programming the mac & looking for some help also

#1 I want to make the  " about my app " window larger
I cant seem to figure out where to do this


I'm fairly new myself, and can't really help you with #2, though I.S. 
gave you a good pointer in another message.


On #1, you can also make your own panel in Interface Builder and make it 
whatever size you want, put whatever text you want in it, and then wire 
the About MyApp... menu item to a routine to open that panel.


I usually do the above by making a nib in my project just for the about 
panel and sometimes add a window controller subclass called 
AboutController to handle event. (The latter is often unnecessary, but 
depends upon how complicated your about panel is.)


HtH,
Jason
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Storing structured data in file - any easy way?

2008-07-11 Thread Jules Colding

Hi Jens,

On 10/07/2008, at 22.50, Jens Alfke wrote:



On 10 Jul '08, at 11:29 AM, Jules Colding wrote:

Assume that I want to store the set {"HI", "HELLO"}. At one point I  
want to be able to use "HI" as key and get "HELLO". At another  
point I want to use "HELLO" as key and get "HI".


There are several trivial ways to do this. I could use two  
NSDictionary's and use the NSCopying protocol to store both.  
Unfortunately that will make at least one, possibly both,  
dictionaries present in memory at query time.


You mean NSCoding, not NSCopying, right?


oops, yes.


The overhead for two dictionaries as opposed to one shouldn't be too  
high. Hash-table overhead is something like 4*sizeof(void*) bytes  
times the number of keys. It's the strings themselves that will take  
up most of the memory, and those are shared between dictionaries.


On the other hand, if the overhead of even one copy of the data in  
memory is too high, archiving isn't the way to go.


The best solution seems to be some kind of lightweight database...  
Is there any cocoa framework that implements a simple database or  
should I manually seek through a file?


The typical solution for this is SQLite,


Exactly what I've decided.

Thanks,
  jules


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Receive notifications about frontmost application change

2008-07-11 Thread Elan Feingold

Hey, I'd love to see that code if you wouldn't mind sharing.

Many thanks!

On Thu, Jul 10, at 7:39 PM, Александр Даровских wrote:

I've managed to use carbon events to receive those notifications. It  
does not require any special privileges and takes just a couple of  
lines of code to implement. Apple API's a really nice.


Sorry for the newbie question and thanks for the solution!

On 09.07.2008, at 23:48, Bill Cheeseman wrote:

on 2008-07-09 1:12 PM, Jean-Daniel Dupas at [EMAIL PROTECTED]  
wrote:



Yes, so the bad new is that you have to go Carbon to listen front
switched events, the good new is that this part of Carbon is  
available

for 64 bits apps (probably because this is the only public way to do
this for now).


No. See my message just now about the Accessibility API.


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/elan%40bluemandrill.com

This email sent to [EMAIL PROTECTED]



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Search NSString for a word and get a boolean value

2008-07-11 Thread Moritz Siller

Hello!

I am an absolute newbie to Cocoa and I am trying to teach myself a  
little bit. I already have had a whole bunch of problems with my  
little applications I write, but have been able to solve them using  
the documentation or the Cocoa Builder Archive.

But now I have a problem I am not able to solve:
I have a string and I want to search it for the word "*** FLOP ***"  
and get a simple boolean value to know if the string contains this word.


I have tried with the NSScanner class` methods, but i am not even sure  
if they are made for that purposes.
Is there a simple method to do the job? Are the NSScanner methods the  
right way and I am just handling them wrong?


If you think this question is too stupid and i should solve it on my  
own please just ignore it ;-)


Greetings, Moritz.




___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Search NSString for a word and get a boolean value

2008-07-11 Thread Mike Abdullah

You want the -rangeOfString: family of methods.

On 11 Jul 2008, at 22:12, Moritz Siller wrote:


Hello!

I am an absolute newbie to Cocoa and I am trying to teach myself a  
little bit. I already have had a whole bunch of problems with my  
little applications I write, but have been able to solve them using  
the documentation or the Cocoa Builder Archive.

But now I have a problem I am not able to solve:
I have a string and I want to search it for the word "*** FLOP ***"  
and get a simple boolean value to know if the string contains this  
word.


I have tried with the NSScanner class` methods, but i am not even  
sure if they are made for that purposes.
Is there a simple method to do the job? Are the NSScanner methods  
the right way and I am just handling them wrong?


If you think this question is too stupid and i should solve it on my  
own please just ignore it ;-)


Greetings, Moritz.




___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/cocoadev%40mikeabdullah.net

This email sent to [EMAIL PROTECTED]


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: any other type of value for the "fromValue" property of CAAnimation?

2008-07-11 Thread David Duncan

On Jul 11, 2008, at 5:38 AM, Cloud Strife wrote:

I am wondering whether I could set  this property to NSColor or  
CGColor
inorder to change the layer color dynamically. For example, If I  
want to
change a Green layer to a red one from time to time, could anyone  
give me a

guidance?



CGColorRefs are Core Foundatation data types, and therefore analogous  
to NSObject decedents, thus you can typecast a CGColorRef to an id and  
assign it as a fromValue or toValue of a CAAnimation without needing  
to do any kind of conversion. Note however that NSColor and CGColorRef  
are NOT toll-free bridged, therefore it is an error to assign an  
NSColor where a CGColorRef is expected (or vise versa).

--
David Duncan
Apple DTS Animation and Printing
[EMAIL PROTECTED]



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: KVO notifications and threads

2008-07-11 Thread Ben Trumbull

At 1:10 PM -0700 7/11/08, [EMAIL PROTECTED] wrote:
So having mutiple CPUs and cores doesnt buy us much more than bragging 
rights, at least as far as KVO and UI goes. oh well.
I like Clark Cox's suggestion for wrapping the set methods in a 
category that forces the actual set to occur on the MainThread


note to Apple developers observing:
   it would be really nice to make the MVC and KVO play nicely with
threads.


KVO + Threads = Fail.

Instead, try enqueuing and coalescing the KVO notifications, and then 
later pass off a group of them to the main thread's run loop (or 
similar pull mechanism).


If you don't understand how the proper granularity of tasks and 
overall division of labor is crucial to scalability, you're not going 
to get anything out of your multiple cores anyway.  Many operations 
are not worth the overhead of scheduling on another processor.


Extremely fine grained operations induce a vast amount of 
communication and coordination overhead, while at the same time 
create some bizarre and non-intuitive semantic results.  Very few 
objects are in a coherent state if individual properties are 
asynchronously changed, even if the individual changes are atomic.


(1) EOF post discussing cache coherency and transactional integrity 
problems with fine grained locking: 



(2) Performance problems with fine grained locking & KVO 





Some books and articles worth your time:

(3) "Java Concurrency in Practice"  The first really good book about 
multi-threading *engineering* instead of theory or APIs




(4) "Intel Threading Building Blocks".  Another book about actually 
getting things done right by people who consider the granularity of 
tasks a serious design consideration.




(5) "Pattern Language for Parallel Programming"  Basically, the Gang 
of 4 design patterns book, done for parallel programming.  Not quite 
as good as "Design Patterns", but then, what is ?




(6) a great article by Edward Lee from UC Berkeley.  The canonical 
"why threads suck" and what we could do about it article.



(7) Article on serious performance optimizations for multicore 
machines. It discusses several practical techniques like lock 
striping that ObjC and CF now use:




For experienced programmers looking to go further, an excellent grad 
level book:

(8) "The Art of Multiprocessor Programming"


--

-Ben
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: NSSpeechSynthesizer lifetime and garbage collected (GC) applications

2008-07-11 Thread Sean McBride
On 7/11/08 10:36 AM, Clark Cox said:

>> I'm guessing this is because the speechSynthesizer is collected before
>> it finishes speaking.  Is this 'correct behaviour' or a bug?  Needless
>> to say, the docs say nothing about special considerations for garbage
>> collection.  My speechSynthesizer has no delegate, and I don't care when
>> it starts or stops speaking.  Shouldn't that make it
>> NSSpeechSynthesizer's job to keep itself alive until it finishes
>> speaking?  Afterall, _I'm_ finished with the speechSynthesizer.
>
>If I were you, I'd file a Bug.

Meaning you agree with me that it shouldn't be my job to keep a strong
reference until its finished speaking?

Cheers,

--

Sean McBride, B. Eng [EMAIL PROTECTED]
Rogue Researchwww.rogue-research.com
Mac Software Developer  Montréal, Québec, Canada


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: garbage collection and NSConnection

2008-07-11 Thread Sean McBride
On 7/7/08 11:25 PM, Hamish Allan said:

>On Mon, Jul 7, 2008 at 6:33 PM, Sean McBride <[EMAIL PROTECTED]> wrote:
>
>> There's always the lower-level:
>>
>>objc_collect (OBJC_EXHAUSTIVE_COLLECTION |
>>OBJC_WAIT_UNTIL_DONE);
>
>If this were called from the main thread, would it guarantee that the
>collector run without interruption, given that user input would be
>suspended?

From it's name, I would think so.  But I can't find docs for these
functions (only 4 google hits).  Perhaps someone on the obj-c list would
know...

--

Sean McBride, B. Eng [EMAIL PROTECTED]
Rogue Researchwww.rogue-research.com
Mac Software Developer  Montréal, Québec, Canada


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


XCode 3.1 quits each time after launch

2008-07-11 Thread Stefan

Hi,

each time I launch the current XCode 3.1 release, it quits either a  
second later

or when I click in the welcome screen.

Console reports only this

12.07.08 00:22:57 Xcode[1744] Xcode(1744,0xa082dfa0) malloc: *** error  
for object 0xa650a5c: pointer being freed was not allocated
12.07.08 00:22:57 [0x0-0x95095].Xcode[1744] Xcode(1744,0xa082dfa0)  
malloc: *** error for object 0xa650a5c: pointer being freed was not  
allocated


Since I have 10.5.4 current and I did a full uninstall/reinstall cycle  
for XCode, I wonder,

what to do.

Any hints, how to track down the problem an make XCode work again?

Kind regards,

Stefan
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


PDFDocument Subclass and Undo Manager Redux

2008-07-11 Thread Kevin Ross
Hello cocoa-devs!  I'm not sure if I'm heading in the right direction  
here or if I'm running off into the brush...


I have a PDFDocument subclass that has it's own undoManager.  This is  
so it can perform transformations upon itself and undo/redo.  The  
trouble is when I try to integrate it into my NSDocument class.  I'll  
try to return the PDF's undoManager like so:


- (NSUndoManager *)windowWillReturnUndoManager:(NSWindow *)window; {
return [(KRPDFDocument *)[pdfView document] undoManager];
}

While this returns an NSUndoManager which != NULL, it doesn't actually  
hook into the responder chain so when I make a change it doesn't  
register in the menu.  Is this because PDFDocument does not inherit  
from NSResponder?


Is the proper way to have the undoManager *in* the PDFDocument  
sublcass?  Or is it better to use the undoManager provided by  
NSDocument?


It seems like I'm missing something that's right in front of my nose,  
but if anyone has some insight out there, please let me know!  Thanks!



- Kevin
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: NSSpeechSynthesizer lifetime and garbage collected (GC) applications

2008-07-11 Thread Clark Cox
On Fri, Jul 11, 2008 at 3:08 PM, Sean McBride <[EMAIL PROTECTED]> wrote:
> On 7/11/08 10:36 AM, Clark Cox said:
>
>>> I'm guessing this is because the speechSynthesizer is collected before
>>> it finishes speaking.  Is this 'correct behaviour' or a bug?  Needless
>>> to say, the docs say nothing about special considerations for garbage
>>> collection.  My speechSynthesizer has no delegate, and I don't care when
>>> it starts or stops speaking.  Shouldn't that make it
>>> NSSpeechSynthesizer's job to keep itself alive until it finishes
>>> speaking?  Afterall, _I'm_ finished with the speechSynthesizer.
>>
>>If I were you, I'd file a Bug.
>
> Meaning you agree with me that it shouldn't be my job to keep a strong
> reference until its finished speaking?

Yes, I agree with you.
(I'm, of course, just speaking for myself, not Apple)

-- 
Clark S. Cox III
[EMAIL PROTECTED]
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: NSSpeechSynthesizer lifetime and garbage collected (GC) applications

2008-07-11 Thread Quincey Morris

On Jul 11, 2008, at 15:08, Sean McBride wrote:


Meaning you agree with me that it shouldn't be my job to keep a strong
reference until its finished speaking?


Whose job was it to keep a reference count on it under non-GC  
conditions?  You weren't doing it in the code you posted, apparently.


If it was your job, then you must have been just very lucky. If it  
wasn't, then whatever was doing it is wrong under GC.


At least, that's how it looks from the sidelines.

 
___


Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: XCode 3.1 quits each time after launch

2008-07-11 Thread Guy Umbright
I have seen this twice.  Once I had to reinstall, the other time, it  
stopped after a reboot.  Wish I had something more definitive for you...


Guy

On Jul 11, 2008, at 5:25 PM, Stefan wrote:


Hi,

each time I launch the current XCode 3.1 release, it quits either a  
second later

or when I click in the welcome screen.

Console reports only this

12.07.08 00:22:57 Xcode[1744] Xcode(1744,0xa082dfa0) malloc: ***  
error for object 0xa650a5c: pointer being freed was not allocated
12.07.08 00:22:57 [0x0-0x95095].Xcode[1744] Xcode(1744,0xa082dfa0)  
malloc: *** error for object 0xa650a5c: pointer being freed was not  
allocated


Since I have 10.5.4 current and I did a full uninstall/reinstall  
cycle for XCode, I wonder,

what to do.

Any hints, how to track down the problem an make XCode work again?

Kind regards,

Stefan
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/guy-list%40kickstandsoft.com

This email sent to [EMAIL PROTECTED]


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Learning How to Program in Objective-C

2008-07-11 Thread Adriano Sica

From the thread starter
Hello to everyone on this list.

Whao,
You are all amazing, fine people. You have all made my day even  
though I was ready for the worse if there were no chances at this.


I will return the favor in the near future.
I'd like to thank each and every single one for the responses  
provided on the subject, your professionalism, links supplied and  
kindness.


Thank you. Thank you.

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Search NSString for a word and get a boolean value

2008-07-11 Thread John Bishop
Moritz Siller <[EMAIL PROTECTED]> said:

For the first occurrence:

BOOL found = ([myString rangeOfString:@"*** FLOP ***"].location != NSNotFound);

which you could have easily found in the "FInding Characters and Substrings" 
section of the NSString Class Reference documentation.  Happy coding.


>I have a string and I want to search it for the word "*** FLOP ***"  
>and get a simple boolean value to know if the string contains this word.
>
>I have tried with the NSScanner class` methods, but i am not even sure  
>if they are made for that purposes.
>Is there a simple method to do the job? Are the NSScanner methods the  
>right way and I am just handling them wrong?
>
>If you think this question is too stupid and i should solve it on my  
>own please just ignore it ;-)
>
>Greetings, Moritz.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: NSSpeechSynthesizer lifetime and garbage collected (GC) applications

2008-07-11 Thread Peter Ammon

Hi Sean,

On Jul 11, 2008, at 7:20 AM, Sean McBride wrote:


Hi all,

The following works just fine in non-GC apps when called in an  
IBAction

method:
[]
I'm guessing this is because the speechSynthesizer is collected before
it finishes speaking.


Good guess!


Is this 'correct behaviour' or a bug?


This is a bug in NSSpeechSynthesizer.  You can work around it for now  
by keeping a reference to the speech synthesizer, or CFRetaining it  
and then CFReleasing it in the speechSynthesizer:didFInishSpeaking:  
delegate callback.


-Peter

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Objective-C default initialization

2008-07-11 Thread Greg
I've noticed that objects get initialized to nil if you don't set  
them, is this guaranteed in objective-c?


I've been trying to find documentation from Apple on this but have  
been unable.


In other words, if you have a simple class like this:


@interface MyClass : NSObject {
id obj;
}
@end


Then when -init is called is 'obj' *guaranteed*, always, in all  
versions of OS X, to be nil?


Thanks,

- Greg
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Objective-C default initialization

2008-07-11 Thread Ryan Brown

In other words, if you have a simple class like this:


@interface MyClass : NSObject {
id obj;
}
@end


Then when -init is called is 'obj' *guaranteed*, always, in all  
versions of OS X, to be nil?


Yes:

http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Tasks/AllocInitObjects.html#/ 
/apple_ref/doc/uid/2048-1003201


Although it happens on alloc/allocWithZone/etc, not init.

Ryan
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Storing structured data in file - any easy way?

2008-07-11 Thread Ben Trumbull

At 12:39 AM -0700 7/11/08, [EMAIL PROTECTED] wrote:
 > Out of curiosity, what do you find not simple about doing the above 

 using Core Data?


It is easy enough to create the data model using xcode, but how that 
connects to actual code is harder to see.


Maybe I'm just overwhelmed... I've had to learn about Sync Services, 
Cocoa, xcode, the Foundation framework and not to forget Objective-C, 
from scratch in just the last month or so. I'm new to the entire Mac 
development environment (I'm coming from linux) so you can imagine 
that my head is rather busy digesting it all. Anyway, I must say that 
I find it the best thought-out development environment that I've ever 
had the pleasure to work within.


Once you've gotten the Cocoa memory management, and Key Value Coding 
concepts down, it's straight forward.  The low level Core Data 
tutorial is pretty good for showing how the pieces fit together with 
the code.




Additionally, here's a cmd line example that assumes you've created a 
model named 'WordModel' with an entity 'Word' that has an attribute 
named 'text'.  Of course, it would also require you save some data 
for it to be useful.  But it shows how to set up a stack and fetch 
data.


#import 
#include 

int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSError *error = nil;   


// Create a Core Data stack
NSManagedObjectModel* model = [[NSManagedObjectModel alloc] 
initWithContentsOfURL:[NSURL fileURLWithPath:@"WordModel.mom"]];
NSPersistentStoreCoordinator *coordinator = 
[[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: 
model];

[model release];
NSManagedObjectContext* context = [[NSManagedObjectContext alloc] init];
[context setPersistentStoreCoordinator: coordinator];
[context setUndoManager:nil];
[coordinator release];
NSURL *dburl = [NSURL fileURLWithPath: [NSString 
stringWithUTF8String:argv[argc-1]]];

NSDictionary* opts = nil;
id store;
if (nil == (store = [coordinator addPersistentStoreWithType: 
NSSQLiteStoreType configuration: nil URL: dburl options: opts error: 
&error])) {
NSLog(@"Could not access database file.  NSError = %@ ui = 
%@", error, [error userInfo]);

exit(-1);
}

// Create a fetch request
NSFetchRequest* request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:[NSEntityDescription entityForName:@"Word" 
inManagedObjectContext:context]];


// Perform the fetch
NSArray* results = [context executeFetchRequest:request error:&error];

if (nil == results) {
NSLog(@"Error during fetch = %@ with userInfo = %@", error, 
[error userInfo]);

exit(-1);
}

unsigned long count = [results count];
   
NSString* text;

for (NSManagedObject* word in results) {
text = word.text;
}

[context release];
[pool drain];
return 0;
}

--

-Ben
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Objective-C default initialization

2008-07-11 Thread Greg

Thank you kindly. :-)

On Jul 11, 2008, at 8:18 PM, Ryan Brown wrote:


Yes:

http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Tasks/AllocInitObjects.html#/ 
/apple_ref/doc/uid/2048-1003201


Although it happens on alloc/allocWithZone/etc, not init.

Ryan

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: XCode 3.1 quits each time after launch

2008-07-11 Thread Scott Anguish

failing Guy's solution, try the xcode-users list.

On Jul 11, 2008, at 7:13 PM, Guy Umbright wrote:

I have seen this twice.  Once I had to reinstall, the other time, it  
stopped after a reboot.  Wish I had something more definitive for  
you...


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Objective-C default initialization

2008-07-11 Thread Sherm Pendley
On Fri, Jul 11, 2008 at 8:10 PM, Greg <[EMAIL PROTECTED]> wrote:
> I've noticed that objects get initialized to nil if you don't set them, is
> this guaranteed in objective-c?
>
> I've been trying to find documentation from Apple on this but have been
> unable.
>
> In other words, if you have a simple class like this:
>
>> @interface MyClass : NSObject {
>>id obj;
>> }
>> @end
>
> Then when -init is called is 'obj' *guaranteed*, always, in all versions of
> OS X, to be nil?

Yes, but that's because it's an instance variable. When memory for a
new object is allocated, its ivars are initialized to nil, 0, or 0.0
as appropriate.

On the other hand, local variables are *not* initialized:

-(void) foo {
id obj;  // This can be anything
}

sherm--

-- 
Cocoa programming in Perl: http://camelbones.sourceforge.net
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: XCode 3.1 quits each time after launch

2008-07-11 Thread Stefan

Last reply here:

I did some instrumented runs of XCode and deleted some Quicktime  
components and cleared


~/Library/Caches/

Now, XCode starts as expected. Remains to see, if the OS X starts ;-)

Am 12.07.2008 um 00:25 schrieb Stefan:


Hi,

each time I launch the current XCode 3.1 release, it quits either a  
second later

or when I click in the welcome screen.

Console reports only this

12.07.08 00:22:57 Xcode[1744] Xcode(1744,0xa082dfa0) malloc: ***  
error for object 0xa650a5c: pointer being freed was not allocated
12.07.08 00:22:57 [0x0-0x95095].Xcode[1744] Xcode(1744,0xa082dfa0)  
malloc: *** error for object 0xa650a5c: pointer being freed was not  
allocated


Since I have 10.5.4 current and I did a full uninstall/reinstall  
cycle for XCode, I wonder,

what to do.

Any hints, how to track down the problem an make XCode work again?

Kind regards,

Stefan
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/seaside.ki%40mac.com

This email sent to [EMAIL PROTECTED]


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Protocol-conforming object does not include retain?

2008-07-11 Thread Steve Weller


I have a protocol and an object that conforms to that protocol  
referenced by an ivar:


@protocol FKPointArraySourcing
-(NSInteger)fooMethod;
@end

@interface FKObject : NSObject  {
 id  mGrid; 
}

If I attempt to retain the ivar like this:

[mGrid retain];

then I get a warning that "-retain was not found in protocol(s)".

If I change the protocol definition to:

@protocol FKPointArraySourcing 
-(NSInteger)foo;
@end

then the warning goes away.

If I remove the protocol conformance and just use a naked id, then the  
warning goes away as well.


Or if I cast mGrid to id the warning goes away.

Why is this addition needed? I don't see it used in other code. It's  
as though the compiler believes that conformance to a protocol implies  
that it exclusively provides those methods, which is not the idea of  
protocol conformance at all.





Steve Weller   [EMAIL PROTECTED]
Technical Writing, Editing, Developer Guides, and a little Cocoa



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Protocol-conforming object does not include retain?

2008-07-11 Thread Bill Bumgarner

On Jul 11, 2008, at 7:39 PM, Steve Weller wrote:
Why is this addition needed? I don't see it used in other code. It's  
as though the compiler believes that conformance to a protocol  
implies that it exclusively provides those methods, which is not the  
idea of protocol conformance at all.


That is exactly the idea of the protocol.

By saying...

id mGrid;

... you would be indicating to the compiler that mGrid might  
potentially respond to any method ever seen.  By adding...


id  mGrid;

... you are telling the compiler to constrain the set of methods to  
exactly the set of methods found within the protocol declaration.


By adding the NSObject protocol

@protocol FKPointArraySourcing 

... you are effectively declaring that anything that implements  
FKPointArraySourcing will also behave like a standard NSObject.  Most  
likely and most commonly, this will be achieved by subclassing  
NSObject, though you could also chose to implement all of the methods  
in  to achieve conformance.


The alternative is to declare mGrid as always being a subclass of  
NSObject...


NSObject  *mGrid;

b.bum

smime.p7s
Description: S/MIME cryptographic signature
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

TableView partial bindings

2008-07-11 Thread Ashley Perrien
I have a three column table where the third column is a calculation  
(actually a constructed string) and the first two and simple number  
values. It would be nice if I could bind the first two to an  
ArrayController and the third just handle manually. Possible? I tried  
setting the table seemed to have issues having both a datasource and  
bindings.


Ashley Perrien
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Protocol-conforming object does not include retain?

2008-07-11 Thread Markus Spoettl

On Jul 11, 2008, at 7:59 PM, Bill Bumgarner wrote:

id mGrid;

... you would be indicating to the compiler that mGrid might  
potentially respond to any method ever seen.


I'm either misunderstand what you're saying or something is wrong with  
my compiler because this:


id bar;

[bar foo:NSZeroRect super:nil underConstruction:YES];

triggers a compiler warning for me (Xcode 3.0):

warning: no '-foo:super:underConstruction:' method found

The only thing that removes that warning (for me) is an informal  
protocol on NSObject that declares the method.


Markus
--
__
Markus Spoettl



smime.p7s
Description: S/MIME cryptographic signature
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Problem with undo in a secondary nib file

2008-07-11 Thread Vishnumoorthi bhat
Hello list,

I have an application with two nib files. I have one text view each in
both the nibs.
The problem is, I can undo in the text view in the Mainmenu.nib
but can't undo in the text view in the second nib.

What I'm missing here?

Any help would be greatly appreciated.

Thanks in advance,
Vish...
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


  1   2   >